Class: Jekyll::Categories::TagGenerator

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

Instance Method Summary collapse

Instance Method Details

#generate(site) ⇒ Object



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

def generate(site)
  if site.layouts.key? 'tag_index'
    dir = site.config['tag_dir'] || 'tags'
    site.tags.keys.each do |tag|
      write_tag_index(site, File.join(dir, tag.gsub(/\s/, "-").gsub(/[^\w-]/, '').downcase), tag)
    end
  end

  if site.layouts.key? 'tag_feed'
    dir = site.config['tag_dir'] || 'tags'
    site.tags.keys.each do |tag|
      write_tag_feed(site, File.join(dir, tag.gsub(/\s/, "-").gsub(/[^\w-]/, '').downcase), tag)
    end
  end

  if site.layouts.key? 'tag_list'
    dir = site.config['tag_dir'] || 'tags'
    write_tag_list(site, dir, site.tags.keys.sort)
  end
end

#write_tag_feed(site, dir, tag) ⇒ Object



79
80
81
82
83
84
# File 'lib/jekyll-categories/tags.rb', line 79

def write_tag_feed(site, dir, tag)
  index = TagFeed.new(site, site.source, dir, tag)
  index.render(site.layouts, site.site_payload)
  index.write(site.dest)
  site.static_files << index
end

#write_tag_index(site, dir, tag) ⇒ Object



72
73
74
75
76
77
# File 'lib/jekyll-categories/tags.rb', line 72

def write_tag_index(site, dir, tag)
  index = TagIndex.new(site, site.source, dir, tag)
  index.render(site.layouts, site.site_payload)
  index.write(site.dest)
  site.static_files << index
end

#write_tag_list(site, dir, tags) ⇒ Object



86
87
88
89
90
91
# File 'lib/jekyll-categories/tags.rb', line 86

def write_tag_list(site, dir, tags)
  index = TagList.new(site, site.source, dir, tags)
  index.render(site.layouts, site.site_payload)
  index.write(site.dest)
  site.static_files << index
end