GitHub

Original file line numberDiff line numberDiff line change

@@ -0,0 +1,32 @@

1+

module Jekyll

2+
3+

class CategoryPage < Page

4+

def initialize(site, base, dir, category)

5+

@site = site

6+

@base = base

7+

@dir = dir

8+

@name = 'index.html'

9+
10+

self.process(@name)

11+

self.read_yaml(File.join(base, '_layouts'), 'category_index.html')

12+

self.data['category'] = category

13+
14+

category_title_prefix = site.config['category_title_prefix'] || 'Category: '

15+

self.data['title'] = "#{category_title_prefix}#{category}"

16+

end

17+

end

18+
19+

class CategoryPageGenerator < Generator

20+

safe true

21+
22+

def generate(site)

23+

if site.layouts.key? 'category_index'

24+

dir = site.config['category_dir'] || 'categories'

25+

site.categories.each_key do |category|

26+

site.pages << CategoryPage.new(site, site.source, File.join(dir, category), category)

27+

end

28+

end

29+

end

30+

end

31+
32+

end

Read the original on github.com ↗