Zhenyu’s Blog

陌上发花,可以缓缓醉矣, 忍把浮名,换了浅酌低唱。

用Jekyll和Pygments配置代码高亮

| Comments

Jekyll默认的代码段样式太丑了,而且不支持语法高亮。不过,Jekyll原生支持语法高亮工具Pygments。Pygments支持超过100种语言, 并且支持多种输出格式,比如HTML, RTF等等。

修改_config.yml

设置pygments: true

本地安装Pygments

  • Pygments是基于Python的,所以机器上需要安装Python,我用的是Mac,已默认安装Python。
  • 下载最新的Pygments, 本文使用的是Pygments-1.5.tar.gz,下载完成后解压
  • 在解压后的Pygments目录中,运行命令:sudo python setup.py install

选择一种喜欢的代码高亮样式

Pygments提供了多种样式,比如’native’, ‘emacs’, ‘vs’等等,可以在Pygments Demo中选择某种语言的例子,体验不同的样式。

通过下面的命令可以查看当前支持的样式:

>>> from pygments.styles import STYLE_MAP
>>> STYLE_MAP.keys()
['monokai', 'manni', 'rrt', 'perldoc', 'borland', 'colorful', 'default', 'murphy', 'vs', 'trac', 'tango', 'fruity', 'autumn', 'bw', 'emacs', 'vim', 'pastie', 'friendly', 'native']

选择一种样式,应用在Jekyll中

  • cd /dev/projects/zyzhang.github.com/assets/themes/abel/css
  • pygmentize -S native -f html > pygments.css, “native”是样式名,“html”是formatter
  • 在layout中引用刚刚加的pygments.css

在文章中高亮代码

现在,可以在博客中高亮代码了:

{% highlight java %}
public class HelloWorld {
    public static void main(String args[]) {
      System.out.println("Hello World!");
    }
}
{% endhighlight %}

效果如下:

public class HelloWorld {
    public static void main(String args[]) {
      System.out.println("Hello World!");
    }
}

参考文章

Comments