Generate paginated pages if necessary.
site - The Site.
Returns nothing.
# File lib/jekyll/generators/pagination.rb, line 12 def generate(site) site.pages.dup.each do |page| paginate(site, page) if Pager.pagination_enabled?(site.config, page) end end
Paginates the blog's posts. Renders the index.html file into paginated directories, e.g.: page2/index.html, page3/index.html, etc and adds more site-wide data.
site - The Site. page - The index.html Page that requires pagination.
{"paginator" => { "page" => <Number>,
"per_page" => <Number>, "posts" => [<Post>], "total_posts" => <Number>, "total_pages" => <Number>, "previous_page" => <Number>, "next_page" => <Number> }}
# File lib/jekyll/generators/pagination.rb, line 32 def paginate(site, page) all_posts = site.site_payload['site']['posts'] pages = Pager.calculate_pages(all_posts, site.config['paginate'].to_i) (1..pages).each do |num_page| pager = Pager.new(site.config, num_page, all_posts, pages) if num_page > 1 newpage = Page.new(site, site.source, page.dir, page.name) newpage.pager = pager newpage.dir = File.join(page.dir, Pager.paginate_path(site.config, num_page)) site.pages << newpage else page.pager = pager end end end
Generated with the Darkfish Rdoc Generator 2.