前言
之前,我是按照我写的这篇博客为Octopress站点侧边栏添加分类列表(Categories)。
出现的问题
基于Octopress的博客系统自带了一个很好用分类目录插件。但遗憾的是它不支持中文链接URL,所以导致了:如果你分类列表有中文,那么点击的时候会链接到404页面。
解决思路
中文取拼音。
解决方法
参考网站:解决Octopress分类目录支持中文的问题
/plugins/category_sidebar.rb
(若没有,自行创建)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| require 'stringex'
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
html << "<li class='category'><a href='/blog/categories/#{category.to_url.downcase}/'>#{category} (#{posts_in_category})</a></li>\n"
end
html
end
end
end
Liquid::Template.register_tag('category_sidebar', Jekyll::CategoryListTag)
|
搞定
现在你可以重新执行rake generate
和rake preview
、 rake deploy
,分类列表中有中文字符的分类,就可以正常打开了,而实际的链接就是对应的拼音。