Class: Jekyll::Itafroma::ArchivePage
- Inherits:
-
Page
- Object
- Page
- Jekyll::Itafroma::ArchivePage
- Defined in:
- lib/jekyll/itafroma/archive_page.rb
Overview
Represents an archive listing page.
Instance Method Summary collapse
-
#date ⇒ Object
Generate the start date of the archive.
-
#initialize(site, base, layout, path, title, posts) ⇒ ArchivePage
constructor
Initalize a new ArchivePage.
-
#populate_data! ⇒ Object
Add the ArchivePage-specific data to the regular Page data.
-
#title ⇒ Object
Generate the ArchivePage title.
-
#url ⇒ Object
Generate the ArchivePage url.
Constructor Details
#initialize(site, base, layout, path, title, posts) ⇒ ArchivePage
Initalize a new ArchivePage.
site - The site. base - The path to the site’s root layout - The layout to use for the archive page path - The path to use for the archive page title - The tokenized title to use for the archive page date_pattern - The pattern of the date the posts are collated on posts - The posts to be added to the ArchivePage.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/jekyll/itafroma/archive_page.rb', line 26 def initialize(site, base, layout, path, title, posts) @site = site @posts = posts @layout = layout @path = path @title = title @base = base @dir = dir @name = 'index.html' process(@name) read_yaml(File.join(base, '_layouts'), "#{@layout}.html") populate_data! end |
Instance Method Details
#date ⇒ Object
Generate the start date of the archive.
The date of the first post is used for the start date.
Returns a DateTime containing the archive’s start date.
49 50 51 |
# File 'lib/jekyll/itafroma/archive_page.rb', line 49 def date @posts.first.date end |
#populate_data! ⇒ Object
Add the ArchivePage-specific data to the regular Page data.
Returns nothing.
70 71 72 73 74 75 76 |
# File 'lib/jekyll/itafroma/archive_page.rb', line 70 def populate_data! data.merge!('date' => date, 'title' => title, 'archive' => { 'posts' => @posts }) end |
#title ⇒ Object
Generate the ArchivePage title.
Returns a String containing the ArchivePage title.
56 57 58 |
# File 'lib/jekyll/itafroma/archive_page.rb', line 56 def title ArchiveSubstitution.new(@posts.first).translate(@title) end |
#url ⇒ Object
Generate the ArchivePage url.
Returns a String containing the ArchivePage url.
63 64 65 |
# File 'lib/jekyll/itafroma/archive_page.rb', line 63 def url File.join(ArchiveSubstitution.new(@posts.first).url(@path).to_s, 'index.html') end |