增加category_list插件
保存到 plugins/category_list_tag.rb:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| # encoding: UTF-8
module Jekyll
class CategoryListTag < Liquid::Tag
def render(context)
html = ""
categories = context.registers[:site].categories.keys
categories.sort.each do |category|
posts_in_category = context.registers[:site].categories[category].size
category_dir = context.registers[:site].config['category_dir']
html << "<li class='category'><a href='/#{category_dir}/#{category.to_url}/'>#{category} (#{posts_in_category})</a></li>\n"
end
html
end
end
end
Liquid::Template.register_tag('category_list', Jekyll::CategoryListTag)
|
注意:一定要在文件的开始添加# encoding: UTF-8
这一行,否则无法支持中文分类。
增加aside
保存到 source/_includes/asides/category_list.html:
1
2
3
4
5
6
| <section>
<h1>Categories</h1>
<ul id="categories">
\{\% category_list %\}\ //添加时去掉4个\
</ul>
</section>
|
修改_config.yml文件
将category_list添加到default_asides:
1
| default_asides: [asides/category_list.html, asides/recent_posts.html]
|
安装这个插件后直接可以支持中文分类,url中使用的是分类的拼音,如「数据库」对应「shu-ju-ku」。如果使用中文分类时遇到各种错误,请参考下面这两篇文章: