当你的博客文章被转载时,你肯定希望转载者能添加一个原始地址。或者你的文章被各种RSS抓取器抓取时,你也希望能在明显的位置显示这个原始地址。使用octopress写博客时,可以通过插件来做这件事。最开始,我只是想单纯地添加这个“原始地址“,一番google未能找到现成的插件,所以只好动手。
话说编写octopress真不是件容易事,因为我实在没找到编写插件的文档。octopress基于jekyll,jekyll又使用了liquid。最后我把这几个项目的文档都翻了下,也仅仅看到几个代码示例,而且liquid的API页面居然出错。无奈之下只好多翻了些现有插件的代码,摸索着来写。写octopress的插件,主要分为generator/tag/filter几种。tag很好理解,就是在文章中插入一个插件注册的tag,然后生成页面时就会调用到对应的插件。filter大概就是把文章内容过滤一遍转换成其他内容输出。 后来发现了一篇文章<给中英文间加个空格>,这人写的插件从流程上大致是我需要的,模仿如下:
大概就是当传入的页面是post时,就添加页脚信息,我这里主要添加了原始地址和作者信息,并且留了个post-footer作为这个段落的样式定制。附加的信息对于RSS输出同样有效。
这个插件的使用方式很简单,直接放到plugins目录下即可。可以在_config.yml中配置下origional_url_pre,例如配置为“原始地址:“。