class Jekyll::Paginate::Pagination

Public Instance Methods

paginate(site, page) click to toggle source
# File lib/jekyll-multisite.rb, line 153
def paginate(site, page)
  all_posts = site.site_payload['site']['posts']
  all_posts = all_posts.reject { |p| p['hidden'] }
  pages = Pager.calculate_pages(all_posts, site.config['paginate'].to_i)
  (1..pages).each do |num_page|
    pager = Pager.new(site, num_page, all_posts, pages)
    if num_page > 1

      # Here is our monkey patch
            if File.basename(page.dir) == site.config['shared_dir']
              base = File.expand_path(File.join(site.source, '..'))
        newpage = Page.new(site, base, page.dir, page.name)
      else
              newpage = Page.new(site, site.source, page.dir, page.name)
            end

            newpage.pager = pager
      newpage.dir = Pager.paginate_path(site, num_page)
      site.pages << newpage
    else
      page.pager = pager
    end
  end
end