class JekyllThemeGuidesMbland::Generator
Public Class Methods
generate_working_url(doc)
click to toggle source
Calling the `url` method on a Jekyll::Page or Jekyll::Document will render the returned value immutable from that point. Here we generate a separate URL object that we use to calculate `data` prior to the first call to `url`. This enables `NamespaceFlattener.flatten_url_namespace` to update the URL as a final step, after `Breadcrumbs.generate` has finished its processing.
# File lib/jekyll-theme-guides-mbland/generator.rb, line 24 def self.generate_working_url(doc) t = doc.respond_to?(:url_template) ? doc.url_template : doc.template doc.data[:working_url] = Jekyll::URL.new( template: t, placeholders: doc.url_placeholders, permalink: doc.permalink ).to_s end
Public Instance Methods
generate(site)
click to toggle source
# File lib/jekyll-theme-guides-mbland/generator.rb, line 9 def generate(site) GeneratedPages.generate_pages_from_navigation_data(site) pages = site.collections['pages'] docs = (pages.nil? ? [] : pages.docs) + site.pages docs.each { |doc| Generator.generate_working_url(doc) } Breadcrumbs.generate(site, docs) NamespaceFlattener.flatten_url_namespace(site, docs) end