Class: Overrides::Generator
- Inherits:
-
Jekyll::Generator
- Object
- Jekyll::Generator
- Overrides::Generator
- Defined in:
- lib/jekyll/overrides.rb
Instance Method Summary collapse
Instance Method Details
#configure_page(page, override_directory, site) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# 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) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# 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 |