use preprocessor

This commit is contained in:
Francis 2021-05-05 12:01:06 +02:00
parent 444ce9ae7a
commit 84dfdf596f
No known key found for this signature in database
GPG key ID: 071BEA4C2B10077C
5 changed files with 16 additions and 9 deletions

2
Rules
View file

@ -25,6 +25,8 @@ preprocess do
ignore_old_content('blog', 'events', 'about/verslagen') if development? ignore_old_content('blog', 'events', 'about/verslagen') if development?
update_blog_attributes update_blog_attributes
convert_tags('Blog')
convert_tags('Events')
create_yearly_items('Blog') create_yearly_items('Blog')
create_yearly_items('Events') create_yearly_items('Events')
create_tagly_items('Blog') create_tagly_items('Blog')

View file

@ -12,8 +12,8 @@
<div class="blogpreview-tags"> <div class="blogpreview-tags">
<% post[:tags]&.each do |tag| %> <% post[:tags]&.each do |tag| %>
<!-- The following code is a bit hacky, fix when necessary --> <!-- The following code is a bit hacky, fix when necessary -->
<a class="tag is-normal is-rounded" href=<%= "/blog/#{tag.split.map(&:capitalize).join('_')}/index.html" %>> <a class="tag is-normal is-rounded" href=<%= "/blog/#{tag.gsub(' ', '_')}/index.html" %>>
<%= tag.split.map(&:capitalize).join(' ') %> <%= tag %>
</a> </a>
<% end %> <% end %>
</div> </div>

View file

@ -18,7 +18,6 @@ module ArchiveHelper
Set.new(items Set.new(items
.find_all('/blog/*/*') .find_all('/blog/*/*')
.flat_map { |i| i[:tags] || [] }) .flat_map { |i| i[:tags] || [] })
.map{ |y| y.split.map(&:capitalize).join(' ') }
.to_a .to_a
.sort .sort
.uniq.map { |y| [y, items["/blog/#{y.gsub(' ', '_')}.html"]]} .uniq.map { |y| [y, items["/blog/#{y.gsub(' ', '_')}.html"]]}
@ -36,7 +35,7 @@ module ArchiveHelper
def posts_with_tag(tag) def posts_with_tag(tag)
items items
.find_all('/blog/*/*') .find_all('/blog/*/*')
.filter{|i| (i[:tags] || []).map{ |t| t.split.map(&:capitalize).join(' ') }.include? tag } .filter{|i| (i[:tags] || []).include? tag }
end end
def posts_in_year_or_with_tag(item) def posts_in_year_or_with_tag(item)

View file

@ -25,10 +25,7 @@ module EventsHelper
def all_events_by_tag(tag = nil, soon = nil) def all_events_by_tag(tag = nil, soon = nil)
@items.find_all('/events/*/*.md') @items.find_all('/events/*/*.md')
.filter { |i| .filter { |i| (i[:tags] || []).include? tag }
(i[:tags] || [])
.map{ |t| t.split.map(&:capitalize).join(' ') }
.include? tag }
.select { |x| x[:soon] == soon } .select { |x| x[:soon] == soon }
.sort_by { |x| x[:time] } .sort_by { |x| x[:time] }
end end

View file

@ -88,7 +88,6 @@ module PreprocessHelper
type = type.to_s type = type.to_s
tags = @items.find_all("/#{type.downcase}/*/*") tags = @items.find_all("/#{type.downcase}/*/*")
.flat_map { |i| i[:tags] || [] } .flat_map { |i| i[:tags] || [] }
.flat_map { |i| i.split.map(&:capitalize).join(' ') }
.uniq .uniq
tags.each do |tag| tags.each do |tag|
@ -121,6 +120,16 @@ module PreprocessHelper
end end
end end
def convert_tags(type)
type = type.to_s
@items.find_all("/#{type.downcase}/*/*").each do |item|
if item.key?(:tags)
item[:tags] = item[:tags]
.map{ |tag| tag.split.map(&:capitalize).join(' ') }
end
end
end
def add_report_metadata def add_report_metadata
@items.find_all('/about/verslagen/*/*').each do |report| @items.find_all('/about/verslagen/*/*').each do |report|
report[:academic_year] = report.identifier.to_s.split('/')[-2] report[:academic_year] = report.identifier.to_s.split('/')[-2]