Class: JekyllPagesApi::Generator
- Inherits:
-
Object
- Object
- JekyllPagesApi::Generator
- Defined in:
- lib/jekyll_pages_api/generator.rb
Instance Attribute Summary collapse
-
#site ⇒ Object
readonly
Returns the value of attribute site.
Instance Method Summary collapse
- #data ⇒ Object
- #dest_dir ⇒ Object
- #generate ⇒ Object
-
#initialize(site) ⇒ Generator
constructor
A new instance of Generator.
- #page ⇒ Object
- #pages ⇒ Object
- #pages_data ⇒ Object
Constructor Details
#initialize(site) ⇒ Generator
Returns a new instance of Generator.
10 11 12 |
# File 'lib/jekyll_pages_api/generator.rb', line 10 def initialize(site) @site = site end |
Instance Attribute Details
#site ⇒ Object (readonly)
Returns the value of attribute site.
8 9 10 |
# File 'lib/jekyll_pages_api/generator.rb', line 8 def site @site end |
Instance Method Details
#data ⇒ Object
27 28 29 30 31 |
# File 'lib/jekyll_pages_api/generator.rb', line 27 def data { entries: pages_data } end |
#dest_dir ⇒ Object
33 34 35 |
# File 'lib/jekyll_pages_api/generator.rb', line 33 def dest_dir File.join('api', 'v1') end |
#generate ⇒ Object
44 45 46 |
# File 'lib/jekyll_pages_api/generator.rb', line 44 def generate self.site.pages << self.page end |
#page ⇒ Object
37 38 39 40 41 42 |
# File 'lib/jekyll_pages_api/generator.rb', line 37 def page # based on https://github.com/jekyll/jekyll-sitemap/blob/v0.7.0/lib/jekyll-sitemap.rb#L51-L54 page = PageWithoutAFile.new(self.site, File.dirname(__FILE__), self.dest_dir, 'pages.json') page.output = self.data.to_json page end |
#pages ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/jekyll_pages_api/generator.rb', line 14 def pages result = [] self.site.each_site_file do |site_file| page = Page.new(site_file, @site) result << page if page.html? end result end |
#pages_data ⇒ Object
23 24 25 |
# File 'lib/jekyll_pages_api/generator.rb', line 23 def pages_data self.pages.map(&:to_json) end |