Class: JekyllRedirectFrom::Generator

Inherits:
Jekyll::Generator
  • Object
show all
Defined in:
lib/jekyll-redirect-from/generator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#siteObject (readonly)

Returns the value of attribute site.



4
5
6
# File 'lib/jekyll-redirect-from/generator.rb', line 4

def site
  @site
end

Instance Method Details

#generate(site) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/jekyll-redirect-from/generator.rb', line 6

def generate(site)
  @site = site

  # Inject our layout, unless the user has already specified a redirect layout'
  unless site.layouts.keys.any? { |name| name == "redirect" }
    site.layouts["redirect"] = JekyllRedirectFrom::Layout.new(site)
  end

  # Must duplicate pages to modify while in loop
  (site.docs_to_write + site.pages.dup).each do |doc|
    next unless JekyllRedirectFrom::CLASSES.include?(doc.class)
    generate_redirect_from(doc)
    generate_redirect_to(doc)
  end
end