Class: Jekyll::AttendeasePlugin::SponsorGenerator

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

Instance Method Summary collapse

Instance Method Details

#generate(site) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/jekyll/attendease_plugin/sponsor_generator.rb', line 6

def generate(site)
  return if !site.config.event? || (site.config.event? && site.config.cms_theme?)

  if site.config['attendease']['has_sponsors'] && site.config['attendease']['generate_sponsor_pages']
    sponsors = site.data['sponsors']
    sponsor_levels = site.data['event']['sponsor_levels']

    sponsor_levels.each do |level|
      level['sponsors'] = []
    end

    sponsors.each do |sponsor|
      level = sponsor_levels.select do |m|
        key = 'id'
        key = '_id' if m[key].nil?
        m[key] == sponsor['level_id']
      end.first
      level['sponsors'] << sponsor
    end

    # make this available to any page that wants it
    site.data['sponsor_levels'] = sponsor_levels

    # /sponsors pages.
    dir = site.config['attendease']['sponsors_path_name']

    if dir
      site.pages << SponsorsIndexPage.new(site, site.source, File.join(dir), site.config['attendease']['sponsor_levels'])
    end

    #sponsors.each do |sponsor|
    #  site.pages << SponsorPage.new(site, site.source, File.join(dir, Helpers.parameterize(sponsor['name']) + '.html', '_'), sponsor)
    #end
  end
end