为octopress文章加入原文链接

给博文加入原文链接的作用不消多说。由于在网上找的到诸篇文章或年久有变,或有重要的错误,因此自己总结记录一下,以作备忘。

  • 增加post_footer_filter.rb插件
  • 对显示信息的定制
  • 将链接信息与文章内容区分出来
  • 相关文章

增加post_footer_filter.rb插件

此部分网上有多个内容相同的博文,但按其中内容增加插件后,在执行rake generate时会出现类似post_filters插件不存在之类的错误。

检查了一下,2.0版本的octopress中没有post_filters.rb这个插件,因此需要对插件进行修改。最终在疑似插件首发引用者的github中找到了一个更新的插件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# # post_footer_filter.rb # Append every post some footer infomation like original url # Kevin Lynx # 09.01.2014 # require 'octopress-hooks' module AppendFooterFilter def self.append(post) author = post.site.config['author'] url = post.site.config['url'] pre = post.site.config['original_url_pre'] post.content + %Q[

#{pre or "original link:"} #{post.full_url}
written by #{author}  posted at #{url}

]
end class PostFilters < Octopress::Hooks::Post def pre_render(post) post.content = AppendFooterFilter::append(post) end

复制时没有加缩进,想看原版可以到此处:https://github.com/kevinlynx/codemacro-source/blob/master/plugins/post_footer_filter.rb

此后在文章结尾处就有了原文链接信息了

对显示信息的定制

从插件内容中可以看出,默认显示在链接之前的“original link:”可以通过original_url_pre参数指定。只需要在_config.yml中加入

original_url_pre: "显示信息"

从插件内容中可以看出,其它各项取自_config.yml已有的变量,因此可以通过自己定义变量或直接修改插件内容来改变显示信息。

注意: 在为octopress每篇文章添加一个文章信息一文中,误把original_url_pre写成了origional_url_pre,导致无法正确显示。

将链接信息与文章内容区分出来

默认状态下,加入的链接信息与文章内容在显示上无法区分。可以在sass/custom/_styles.scss中加入一行:

1
.post-footer{margin-top:10px;padding:5px;background:none repeat scroll 0pt 0pt #eee;font-size:90%;color:gray} 

注意 网上不止一处把文件名写成了_style.scss。很无语。

相关文章

为octopress每篇文章添加一个文章信息,其它文章都引用了它。

两个犯了同样错误的文章:

http://biaobiaoqi.github.io/blog/2013/07/10/decorate-octopress/

http://812lcl.com/blog/2013/10/26/octopressce-bian-lan-ji-ping-lun-xi-tong-ding-zhi/

原文链接地址: http://pangyi.github.io/blog/20150125/wei-octopresswen-zhang-jia-ru-yuan-wen-lian-jie/
written by PangYi  posted at http://pangyi.github.io

你可能感兴趣的:(为octopress文章加入原文链接)