cccs-website/lib/articlehelpers.rb
2013-08-24 11:15:46 +02:00

31 lines
818 B
Ruby

def article_base_item(item)
idparts = item.identifier.split('/')
articleid = "/#{idparts[1]}/#{idparts[2]}/"
if idparts.length>3 then
result = @items[articleid]
if (!result)
raise Nanoc::Errors::GenericTrivial.new("Base article #{articleid} for item #{item.identifier} not found!")
end
result
else
item
end
end
def pathname_of_article(item)
idparts = item.identifier.split('/')
time = item[:created_at]
slug = idparts[2].sub( %r{^[0-9]*-}, "" )
time.strftime('%Y-%m-%d') + '-' + slug
end
def latest_articles(max=nil)
@cache_latest_art ||= @site.items.select do |p|
p.attributes[:kind] == 'article'
end.sort do |a, b|
a.attributes[:created_at] <=> b.attributes[:created_at]
end.reverse
@cache_latest_art[0..(max ? max-1 : @cache_latest_art.length-1)]
end