Class: Jekyll::Categories::CategoryGenerator

Inherits:
Generator
  • Object
show all
Defined in:
lib/jekyll-categories.rb

Instance Method Summary collapse

Instance Method Details

#generate(site) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/jekyll-categories.rb', line 53

def generate(site)
  if site.layouts.key? 'category_index'
    dir = site.config['category_dir'] || 'categories'
    site.categories.keys.each do |category|
      write_category_index(site, File.join(dir, category.gsub(/\s/, "-").gsub(/[^\w-]/, '').downcase), category)
    end
  end

  if site.layouts.key? 'category_feed'
    dir = site.config['category_dir'] || 'categories'
    site.categories.keys.each do |category|
      write_category_feed(site, File.join(dir, category.gsub(/\s/, "-").gsub(/[^\w-]/, '').downcase), category)
    end
  end

  if site.layouts.key? 'category_list'
    dir = site.config['category_dir'] || 'categories'
    write_category_list(site, dir, site.categories.keys.sort)
  end
end

#write_category_feed(site, dir, category) ⇒ Object



81
82
83
84
85
86
# File 'lib/jekyll-categories.rb', line 81

def write_category_feed(site, dir, category)
  index = CategoryFeed.new(site, site.source, dir, category)
  index.render(site.layouts, site.site_payload)
  index.write(site.dest)
  site.static_files << index
end

#write_category_index(site, dir, category) ⇒ Object



74
75
76
77
78
79
# File 'lib/jekyll-categories.rb', line 74

def write_category_index(site, dir, category)
  index = CategoryIndex.new(site, site.source, dir, category)
  index.render(site.layouts, site.site_payload)
  index.write(site.dest)
  site.static_files << index
end

#write_category_list(site, dir, categories) ⇒ Object



88
89
90
91
92
93
# File 'lib/jekyll-categories.rb', line 88

def write_category_list(site, dir, categories)
  index = CategoryList.new(site, site.source, dir, categories)
  index.render(site.layouts, site.site_payload)
  index.write(site.dest)
  site.static_files << index
end