Class: Jekyll::AttendeasePlugin::PreZeroPointSixLinkRedirectGenerator

Inherits:
Generator
  • Object
show all
Defined in:
lib/jekyll/attendease_plugin/pre_zero_point_six_link_redirect_generator.rb

Instance Method Summary collapse

Instance Method Details

#generate(site) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/jekyll/attendease_plugin/pre_zero_point_six_link_redirect_generator.rb', line 8

def generate(site)
  if site.config['attendease']['generate_schedule_pages'] && site.config['attendease']['redirect_ugly_urls']
    schedule_generator = site.generators.select { |g| g.class == Jekyll::AttendeasePlugin::ScheduleGenerator }.first

    # presenters
    dir = site.config['attendease']['presenters_path_name']
    schedule_generator.schedule_data.presenters.each do |o|
      site.pages << RedirectPage.new(site, site.source, File.join(dir, o['id']), File.join('/', dir, o['slug']))
    end

    # venues
    dir = site.config['attendease']['venues_path_name']
    schedule_generator.schedule_data.venues.each do |o|
      site.pages << RedirectPage.new(site, site.source, File.join(dir, o['id']), File.join('/', dir, o['slug']))
    end

    # sessions
    dir = site.config['attendease']['schedule_path_name']
    schedule_generator.schedule_data.sessions.each do |o|
      site.pages << RedirectPage.new(site, site.source, File.join(dir, o['code']), File.join('/', dir, 'sessions', o['slug']))
    end
  end
end