安装插件
目前有多个插件实现标签功能。其中一个是octopress官方推荐版本,据说不支持多标签。还有些人用的是“3D”标签云,风格上我不是太喜欢。最终选用的是robbyedwards的一组插件。这组插件有两个,一个是octopress-tag-pages,用于生成标签页面,另一个是octopress-tag-cloud,用于显示实现标签云功能。
### octopress-tag-pages
首先安装octopress-tag-page。从上面链接处得到插件,复制这些文件到octopress的相同路径:
plugins/tag_generator.rb
source/_includes/custom/tag_feed.xml
source/_includes/post/tags.html
source/_layouts/tag_index.html
其中tag_generator.rb和tag_feed.xml是必须的,其它据网上的一些人说是可选的。
另外一些文件是同名文件,如果复制过来一方面会影响已经配置的功能,另外可能导致发生一些问题(可能是版本兼容的问题造成的)。
这个插件不需要做配置。
octopress-tag-cloud
然后安装octopress-tag-cloud。在上面链接处得到插件,同样复制一些文件到octopress的相同路径:
plugins/tag_cloud.rb
source/_includes/custom/asides/tags.html
tag_cloud.rb为必须。tags.html为在侧边栏显示标签的示例。可以参照它进行配置。
在侧边栏显示标签云
在_config.yml中的default_asides:中增加custom/asides/tags.html,用于在侧边栏显示标签云。如果想汉化,则修改tags.html等文件即可。
使用
在新建的博客文件中加入一行“tags: ”,类似:
---
layout: post
title: "test tag"
published: true
date: 2014-10-28 00:42
comments: true
tags: [扩展, ttt]
categories:
---
这样会给这一博文增加两个标签,使标签与分类对文章进行不同维度的分类。
当有文章有多个标签时,在执行rake generate时会出现类似如下问题:
1 2 3 4 5 6 7 8 9 10 |
|
经十几天的反复测试,发现在source/_includes/custom/asides/tags.html如果加了“limit”参数,就会出现问题。去掉就好了。
另一个问题是2.0版本的ocroptrss调用的generate操作会执行plugings中的所有插件,所以会报一些错,忽略即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
参考
http://codemacro.com/2012/07/18/add-tag-to-octopress/
http://loudou.info/blog/2014/02/15/wei-octopress-tian-jia-tag-gong-neng/