【问题标题】:Highlighting fenced code blocks in Jekyll using Pygments使用 Pygments 在 Jekyll 中突出显示围栏代码块
【发布时间】:2016-06-30 09:18:17
【问题描述】:

如何使用 Pygments 突出显示 Jekyll 中的围栏代码块?

```c
for(int i = 0; i < n; i++){
   ...
}
```

不起作用。我必须这样写:

{% highlight c %}
for(int i = 0; i < n; i++){
   ...
}
{% endhighlight %}

我不喜欢使用 Liquid 标签,我正在使用 Kramdown。
我还没准备好从 Kramdown 切换到 Redcarpet。 Rouge 可以很好地处理受保护的代码块,但我想使用 Pygments,因为它支持更多的编程语言。
This problem 与我的相似,只是它太旧了。

【问题讨论】:

    标签: jekyll pygments


    【解决方案1】:

    Jekyll 不理解开箱即用的防护代码块。这可以通过 Github Flavored Markdown(又名 GFM)参数 (see documentation) 轻松解决。

    _config.yml,设置:

    kramdown:
      input: GFM
    

    但是:Jekyll 3.x 的默认荧光笔现在是rouge,它为a lot of languages 进行代码高亮并且不需要安装python。

    【讨论】:

    • 但并不是 Pygments 知道的所有语言。无论如何,很多人都会安装 Python。
    • Pygments 支持的语言比 rouge 多。即使我将 kramdown 设置为接受 GFM,围栏代码块也没有正确呈现。
    猜你喜欢
    • 1970-01-01
    • 2016-06-16
    • 2011-10-09
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多