在Octopress中使用代码高亮, 实际就是Jekyll的Pygments代码高亮, 效果如下
源
``` js Javascript Hello World
alert('hello world');
```
效果
1
|
|
而默认安装Octopress时对代码高亮还是不支持的, 还需要安装Python, 我没有使用ActivePython, 而是CPython, 安装好后应该会有c:\Windows\System32\python27.dll
.
但是现在还可能会出现Could not open library’.dll’
的问题.
下面的修改会和版本有关, 我目前使用的Octopress版本是2.0 2012/3/8 Commit:9f40242b1e7eb0098f0ef3c508c7bed7e647b982
将Gemfile.lock
的33行
pygments.rb (0.1.3)
修改为
pygments.rb (0.2.11)
以及40行
rubypython (0.5.1)
修改为
rubypython (0.5.3)
注意上面的修改不要改变原有的缩进, 然后在命令行下执行
bundle install
这将会使用bundler这个依赖管理工具安装新版本的pygments.rb和rubypython.
如果还有问题请参考Windows 8安装Octopress记录的部署Python部分.
Octopress代码高亮的工作原理
如果上面的还是不能使用代码高亮就需要了解原理之后在自行判断如何处理.
Octopress的代码高亮实际是Jekyll的代码高亮, 其中插件Backtick Code Blocks
Code Blocks
Include Code
这些插件都有代码高亮功能, 其代码高亮都使用Pygments Code
插件, 这个插件如名字所示, 其使用的gem库是pygments.rb.
pygments.rb包含有pygments的代码, 可以在Ruby安装目录下的\lib\ruby\gems\1.9.1\gems\pygments.rb-0.2.11\vendor
中看到.
使用bundler安装pygments.rb时会自动的安装它依赖的rubypython.
pygments.rb使用rubypython的方式为ffi, 这个是ruby中调用C语言写的库的工具, 在这里是调用python27.dll
.
备用方案
上述的方法还是不能正常使用代码高亮的话, 还可以使用一些后备的方法.
Gist插件
在github:gist上贴代码, 并使用类似下面的代码
{% gist 2436351 %}
将展示为
jsFiddle插件
这个更适合用于web前端相关的html css js的展示, 使用类似下面的代码
{% jsfiddle 3h5A4/3 %}
将展示为