我想将kramdown(具有防护代码块、内联属性列表、标题 ID 等功能)与 pygments 一起用于语法突出显示(例如,用于 LaTeX 支持,这在 kramdown 使用的 CodeRay 中不可用)。Jekyll 同时支持 kramdown 和 pygments,但显然不能同时支持两者(除非我使用我不想使用的 Liquid 标签)。
我还发现了一些关于如何使 kramdown 围栏代码块吐出 pygments 突出显示的代码的插件片段,但不幸的是我不知道如何使它工作。
我尝试将该站点的所有代码转储到某个_plugins/krampygs.rb
文件中,但随后jekyll build
抱怨:
Generating... error: undefined method `matches'
如果我按照Jekyll 插件文档的指示提供了一些琐碎matches
的内容,但是我不知道如何为我的文件选择这个新的转换器。添加类似的东西output_ext
.md
markdown: MarkdownConverter
我_config.yml
唯一的抱怨是这不是一个有效的选择。
所以,好吧,我重申我的问题:如何在 Jekyll 中将 kramdown 与 pygments 一起使用?
解决方案
在 Matthias(下)的帮助下,我能够为 Jekyll 1.x准备这个Kramdown+Pygments 插件。