class Overrides::Generator
Public Instance Methods
configure_page(page, override_directory, site)
click to toggle source
# File lib/jekyll/overrides.rb, line 35 def configure_page(page, override_directory, site) override_file = File.join(override_directory, page.path) if File.exists?(override_file) override_content = File.read(override_file) # Lets merge the old page data with any overrides matches = Jekyll::Document::YAML_FRONT_MATTER_REGEXP.match(override_content) if matches[0] page.data = page.data.merge(SafeYAML.load(matches[0])) end page.content = override_content.gsub(matches[0], '') end return page end
generate(site)
click to toggle source
# File lib/jekyll/overrides.rb, line 18 def generate(site) return if not override_directory = site.config['overrides'] # Let's gather pages that exist in our override directory, in case # they aren't originally defined in our source directory` Dir["#{override_directory}/**/*.{md,html}"].each do |path| site.pages << OverridePage.new( site, override_directory.gsub(/\/$/, '') + '/', '', '/' + path.gsub(override_directory, '').gsub(/^\//, '') ) end site.pages.map { | page | configure_page(page, override_directory, site) } end