Jekyll archive page generator plugin
module Jekyll | |
class ArchiveGenerator < Generator | |
safe true | |
def generate(site) | |
collate_by_month(site.posts).each do |month, posts| | |
page = ArchivePage.new(site, month, posts) | |
site.pages << page | |
end | |
end | |
private | |
def collate_by_month(posts) | |
collated = {} | |
posts.each do |post| | |
key = "#{post.date.year}/#{post.date.month}" | |
if collated.has_key? key | |
collated[key] << post | |
else | |
collated[key] = [post] | |
end | |
end | |
collated | |
end | |
end | |
end |
This comment has been minimized.
This comment has been minimized.
@ikka the same is true with ruby 1.9.3 |
This comment has been minimized.
This comment has been minimized.
I have this output too with ruby 1.9.3 and latest jekyll. |
This comment has been minimized.
This comment has been minimized.
The default year/month format doesn’t match Jekyll’s because the months aren’t getting zero-padded. You can see my fix here: https://gist.github.com/nlindley/6409441 To those having problems with the warning, having ArchivePage inherit Page seems to fix the issues. See this gist: https://gist.github.com/nlindley/6409459 |
This comment has been minimized.
This comment has been minimized.
@nlindley This is a simple question, but when I run 'jekyll build' the file loads but none of the methods are ever called. The file is in my _layouts folder, and I know it's getting loaded, but none of the methods fire. Any ideas? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
WIth newest jekyll, getting a couple of errors with these:
jekyll version 1.0.3, ruby version 1.9.2-p320
Any ideas? I added these as accessors to the ArchivePage, but then ended up with a different error: