Show the code for sample generator first [skip ci]
This commit is contained in:
parent
20d9cbe231
commit
9a4b74c44b
|
@ -44,6 +44,20 @@ This is a more complex generator that generates new pages:
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
module Jekyll
|
module Jekyll
|
||||||
|
class CategoryPageGenerator < Generator
|
||||||
|
safe true
|
||||||
|
|
||||||
|
def generate(site)
|
||||||
|
if site.layouts.key? 'category_index'
|
||||||
|
dir = site.config['category_dir'] || 'categories'
|
||||||
|
site.categories.each_key do |category|
|
||||||
|
site.pages << CategoryPage.new(site, site.source, File.join(dir, category), category)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# A Page subclass used in the `CategoryPageGenerator`
|
||||||
class CategoryPage < Page
|
class CategoryPage < Page
|
||||||
def initialize(site, base, dir, category)
|
def initialize(site, base, dir, category)
|
||||||
@site = site
|
@site = site
|
||||||
|
@ -59,19 +73,6 @@ module Jekyll
|
||||||
self.data['title'] = "#{category_title_prefix}#{category}"
|
self.data['title'] = "#{category_title_prefix}#{category}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class CategoryPageGenerator < Generator
|
|
||||||
safe true
|
|
||||||
|
|
||||||
def generate(site)
|
|
||||||
if site.layouts.key? 'category_index'
|
|
||||||
dir = site.config['category_dir'] || 'categories'
|
|
||||||
site.categories.each_key do |category|
|
|
||||||
site.pages << CategoryPage.new(site, site.source, File.join(dir, category), category)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue