Class: Awestruct::Extensions::Posts::Archive
- Inherits:
-
Object
- Object
- Awestruct::Extensions::Posts::Archive
- Defined in:
- lib/awestruct/extensions/posts.rb
Instance Attribute Summary collapse
-
#posts ⇒ Object
Returns the value of attribute posts.
Instance Method Summary collapse
- #<<(post) ⇒ Object
- #generate_pages(engine, template, output_path) ⇒ Object
-
#initialize ⇒ Archive
constructor
A new instance of Archive.
Constructor Details
#initialize ⇒ Archive
Returns a new instance of Archive.
90 91 92 |
# File 'lib/awestruct/extensions/posts.rb', line 90 def initialize @posts = {} end |
Instance Attribute Details
#posts ⇒ Object
Returns the value of attribute posts.
88 89 90 |
# File 'lib/awestruct/extensions/posts.rb', line 88 def posts @posts end |
Instance Method Details
#<<(post) ⇒ Object
94 95 96 97 98 99 |
# File 'lib/awestruct/extensions/posts.rb', line 94 def <<( post ) posts[post.date.year] ||= {} posts[post.date.year][post.date.month] ||= {} posts[post.date.year][post.date.month][post.date.day] ||= [] posts[post.date.year][post.date.month][post.date.day] << post end |
#generate_pages(engine, template, output_path) ⇒ Object
101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/awestruct/extensions/posts.rb', line 101 def generate_pages( engine, template, output_path ) pages = [] posts.keys.sort.each do |year| posts[year].keys.sort.each do |month| posts[year][month].keys.sort.each do |day| archive_page = engine.find_and_load_site_page( template ) archive_page.send( "archive=", posts[year][month][day] ) archive_page.output_path = File.join( output_path, year.to_s, month.to_s, day.to_s, File.basename( template ) + ".html" ) pages << archive_page end end end pages end |