Module: RageRender::PaginationGenerator

Included in:
ChapterArchivePaginator, ComicArchivePaginator, PaginatedBlogArchiveGenerator, PaginatedBlogsGenerator
Defined in:
lib/ragerender/jekyll/pagination.rb

Instance Method Summary collapse

Instance Method Details

#duplicate(page) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/ragerender/jekyll/pagination.rb', line 7

def duplicate page
  Jekyll::Page.new(
    page.site,
    page.instance_variable_get(:"@base"),
    page.instance_variable_get(:"@dir"),
    page.name,
  )
end

#generate(site) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/ragerender/jekyll/pagination.rb', line 16

def generate site
  archive = source_page site
  archive.data['number'] = 1

  num_pages(site).times.each do |number|
    paged_archive = duplicate archive
    paged_archive.data['permalink'] = permalink.gsub(/:number/, (number + 1).to_s)
    paged_archive.data['number'] = number + 1
    paged_archive.data['hidden'] = true
    Jekyll.logger.debug 'Paginating:', paged_archive.data['permalink']
    handle_page paged_archive
  end
end

#handle_page(page) ⇒ Object



3
4
5
# File 'lib/ragerender/jekyll/pagination.rb', line 3

def handle_page page
  page.site.pages << page
end