Class: Awestruct::Extensions::Atomizer
- Inherits:
-
Object
- Object
- Awestruct::Extensions::Atomizer
- Defined in:
- lib/awestruct/extensions/atomizer.rb
Instance Method Summary collapse
- #execute(site) ⇒ Object
-
#initialize(entries_name, output_path, opts = {}) ⇒ Atomizer
constructor
A new instance of Atomizer.
Constructor Details
#initialize(entries_name, output_path, opts = {}) ⇒ Atomizer
Returns a new instance of Atomizer.
5 6 7 8 9 10 11 |
# File 'lib/awestruct/extensions/atomizer.rb', line 5 def initialize(entries_name, output_path, opts={}) @entries_name = entries_name @output_path = output_path @num_entries = opts[:num_entries] || 50 @content_url = opts[:content_url] @feed_title = opts[:feed_title] end |
Instance Method Details
#execute(site) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/awestruct/extensions/atomizer.rb', line 13 def execute(site) entries = site.send( @entries_name ) || [] unless ( @num_entries == :all ) entries = entries[0, @num_entries] end atom_pages = [] entries.each do |entry| feed_entry = site.engine.load_page(entry.source_path, :relative_path => entry.relative_source_path, :html_entities => false) feed_entry.output_path = entry.output_path feed_entry.date = feed_entry..nil? ? entry.date : feed_entry. atom_pages << feed_entry end site.engine.set_urls(atom_pages) input_page = File.join( File.dirname(__FILE__), 'template.atom.haml' ) page = site.engine.load_page( input_page ) page.date = page. unless page..nil? page.output_path = @output_path page.entries = atom_pages page.title = @feed_title || site.title || site.base_url page.content_url = @content_url || site.base_url site.pages << page end |