Sha256: 1d34c3f6f1ea3c23aa6f2d651ff006f507bf7765cef162854e3bbf84c625cc8a
Contents?: true
Size: 1.15 KB
Versions: 9
Compression:
Stored size: 1.15 KB
Contents
module JekyllThemeGuidesMbland class GeneratedPages DEFAULT_LAYOUT = 'jekyll_theme_guides_mbland_generated_home_redirect'.freeze def self.generate_pages_from_navigation_data(site) layout = site.config['generate_nodes'] return if layout.nil? || layout == false layout = DEFAULT_LAYOUT if layout == true nav_data = site.config['navigation'] generate_pages_from_generated_nodes(site, layout, nav_data, '/') end def self.generate_pages_from_generated_nodes(site, layout, nav_data, parent_url) (nav_data || []).select { |nav| nav['generated'] }.each do |nav| site.pages << GeneratedPage.new(site, layout, nav, parent_url) children = nav['children'] next_url = parent_url + nav['url'] generate_pages_from_generated_nodes(site, layout, children, next_url) end end end class GeneratedPage < ::Jekyll::Page def initialize(site, layout, nav, parent_url) @site = site @name = 'index.html' process(@name) @data = {} data['title'] = nav['text'] data['permalink'] = parent_url + nav['url'] data['layout'] = layout end end end
Version data entries
9 entries across 9 versions & 1 rubygems