class Jekyll::GenerateJSON
Attributes
site[R]
Public Instance Methods
dest_dir()
click to toggle source
# File lib/jekyll_react/json-generator.rb, line 56 def dest_dir File.join('api', 'v1') end
generate(site)
click to toggle source
# File lib/jekyll_react/json-generator.rb, line 21 def generate(site) @site = site config = site.config['react'] config_json = config.to_json new_page('config.json', config_json, self.dest_dir) parse_pages parse_data end
new_page(name, data, dir)
click to toggle source
# File lib/jekyll_react/json-generator.rb, line 50 def new_page(name, data, dir) page = PageWithoutAFile.new(@site, File.dirname(__FILE__), dir, name.to_s) page.content = data @site.pages << page end
parse_data()
click to toggle source
# File lib/jekyll_react/json-generator.rb, line 44 def parse_data @site.data.each do |site_file| new_page("#{site_file[0]}.json", site_file.to_json, self.dest_dir) end end
parse_pages()
click to toggle source
# File lib/jekyll_react/json-generator.rb, line 30 def parse_pages @site.pages.each do |page| if page.data['render'] && page.data['render'] == 'dynamic' rendered_content = JekyllReact::Render.new(self.site, page, site_payload = nil) page.content=rendered_content.run dyn_page = JekyllReact::PageData.new(@site, page) name = "#{page.data['title']}.json" page_json = dyn_page.to_hash.to_json new_page(name, page_json, page.url) page.content = '' end end end