class Jekyll::TagsGenerator

Public Instance Methods

atomize(site, type, posts) click to toggle source
# File _plugins/jekyll-tagsgenerator.rb, line 20
def atomize(site, type, posts)
  path = "/tag/" + posts[0].slugify
  atom = AtomPageTags.new(site, site.source, path, type, posts[0], posts[1])
  site.pages << atom
end
build_subpages(site, type, posts) click to toggle source
# File _plugins/jekyll-tagsgenerator.rb, line 14
def build_subpages(site, type, posts)
  posts[1] = posts[1].sort_by { |p| -p.date.to_f }
  atomize(site, type, posts)
  paginate(site, type, posts)
end
generate(site) click to toggle source
# File _plugins/jekyll-tagsgenerator.rb, line 8
def generate(site)
  site.tags.each do |tag|
    build_subpages(site, "tag", tag)
  end
end
paginate(site, type, posts) click to toggle source
# File _plugins/jekyll-tagsgenerator.rb, line 26
def paginate(site, type, posts)
  pages = Jekyll::Paginate::Pager.calculate_pages(posts[1], site.config['paginate'].to_i)
  (1..pages).each do |num_page|
    pager = Jekyll::Paginate::Pager.new(site, num_page, posts[1], pages)
    path = "/tag/" + posts[0].slugify
    if num_page > 1
      path = path + "/page#{num_page}"
    end
    newpage = GroupSubPageTags.new(site, site.source, path, type, posts[0])
    newpage.pager = pager
    site.pages << newpage

  end
end