class Jekyll::GeneratedPage
Public Class Methods
new(site, base, web_root, dir, item, layout=nil)
click to toggle source
# File lib/raml-generate.rb, line 20 def initialize(site, base, web_root, dir, item, layout=nil) @site = site @base = base @dir = dir.gsub(/{(\w*)}/, '--\1--').gsub(/\s/, '_') @dir = File.join(web_root, @dir) @name = 'index.html' layout = get_layout("#{web_root}#{dir}") if layout.nil? layout = "#{layout}.html" if not layout.end_with?('.html') self.process(@name) self.read_yaml(File.join(base, '_layouts'), layout) self.data['title'] = "#{item['title']}" if item.include?('description') self.data['description'] = transform_md(item['description']) end end
Private Instance Methods
get_layout(dir, site=@site)
click to toggle source
# File lib/raml-generate.rb, line 48 def get_layout(dir, site=@site) defaults = site.config.fetch('defaults', []).sort_by { |x| -(x.fetch('scope', {}).fetch('path', '').length) } default = defaults.detect { |x| dir.include?(x['scope']['path'])} default = {"values" => {}} if default.nil? default['values'].fetch('layout', 'default') end
transform_md(output)
click to toggle source
# File lib/raml-generate.rb, line 40 def transform_md(output) # Use the existing Jekyll Markdown converters md_converters = site.converters.select{|c| c.matches('.md')} md_converters.reduce(output) do |output_to_convert, converter| converter.convert output_to_convert end end