Class: Jekyll::Authors::AuthorGenerator

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

Instance Method Summary collapse

Instance Method Details

#generate(site) ⇒ Object



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

def generate(site)
  if site.layouts.key? 'author_index'
    dir = site.config['author_dir'] || 'authors'
    site.config['authors'].keys.each do |author|
      write_author_index(site, File.join(dir, author.gsub(/\s/, "-").gsub(/[^\w-]/, '').downcase), author)
    end
  end

  if site.layouts.key? 'author_feed'
    dir = site.config['author_dir'] || 'authors'
    site.config['authors'].keys.each do |author|
      write_author_feed(site, File.join(dir, author.gsub(/\s/, "-").gsub(/[^\w-]/, '').downcase), author)
    end
  end

  if site.layouts.key? 'author_list'
    dir = site.config['author_dir'] || 'authors'
    write_author_list(site, dir, site.config['authors'].keys.sort)
  end
end

#write_author_feed(site, dir, author) ⇒ Object



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

def write_author_feed(site, dir, author)
  index = AuthorFeed.new(site, site.source, dir, author)
  index.render(site.layouts, site.site_payload)
  index.write(site.dest)
  site.static_files << index
end

#write_author_index(site, dir, author) ⇒ Object



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

def write_author_index(site, dir, author)
  index = AuthorIndex.new(site, site.source, dir, author)
  index.render(site.layouts, site.site_payload)
  index.write(site.dest)
  site.static_files << index
end

#write_author_list(site, dir, authors) ⇒ Object



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

def write_author_list(site, dir, authors)
  index = AuthorList.new(site, site.source, dir, authors)
  index.render(site.layouts, site.site_payload)
  index.write(site.dest)
  site.static_files << index
end