在Jekyll中使用kramdown和pygments
我想与fenced代码块、内联属性列表、标题ID和pygments等功能一起使用,以突出显示语法,例如LaTeX支持,kramdown使用的CodeRay不提供这种支持。Jekyll同时支持kramdown和pygments,但显然不能同时支持这两个,除非我使用我不喜欢的液体标签 我还发现了一些如何使kramdown防护代码块吐出pygments突出显示的代码的方法,但不幸的是,我不知道如何使其工作 我试图将该站点的所有代码转储到一些plugins/krampygs.rb文件中,但jekyll build抱怨:在Jekyll中使用kramdown和pygments,jekyll,pygments,kramdown,Jekyll,Pygments,Kramdown,我想与fenced代码块、内联属性列表、标题ID和pygments等功能一起使用,以突出显示语法,例如LaTeX支持,kramdown使用的CodeRay不提供这种支持。Jekyll同时支持kramdown和pygments,但显然不能同时支持这两个,除非我使用我不喜欢的液体标签 我还发现了一些如何使kramdown防护代码块吐出pygments突出显示的代码的方法,但不幸的是,我不知道如何使其工作 我试图将该站点的所有代码转储到一些plugins/krampygs.rb文件中,但jekyll
Generating... error: undefined method `matches'
如果我按照的指示提供一些琐碎的匹配并输出_ext,但是我不知道如何为我的.md文件选择这个新转换器。添加类似于
markdown: MarkdownConverter
在my_config.yml上,我只抱怨这不是一个有效的选项
所以,好吧,我重申我的问题:我如何在《杰基尔》中使用kramdown和pygments
解决方案
在下面Matthias的帮助下,我为Jekyll 1.x.准备了这篇文章。该网站的作者 这取决于杰基尔的版本。对于写文章时的版本来说,这就足够了。至少Jekyll 1.x要求在MarkdownConverter中定义匹配项,如下所示:
def matches(ext)
ext =~ /^\.md$/i
end
Jekyll1.x中出现的另一个问题是,每个自定义标记转换器都是可用的。我通过明确说明输出扩展解决了这个问题
def output_ext(ext)
".html"
end
告诉杰基尔,通过设置
markdown_ext: foo
在_config.yml.中,这里是该站点的作者 这取决于杰基尔的版本。对于写文章时的版本来说,这就足够了。至少Jekyll 1.x要求在MarkdownConverter中定义匹配项,如下所示:
def matches(ext)
ext =~ /^\.md$/i
end
Jekyll1.x中出现的另一个问题是,每个自定义标记转换器都是可用的。我通过明确说明输出扩展解决了这个问题
def output_ext(ext)
".html"
end
告诉杰基尔,通过设置
markdown_ext: foo
在_config.yml.中,我更新了创建人,使其与Jekyll 2.x兼容,并进行了一些其他改进
可以在这里找到:我已经更新了创建人,使其与Jekyll 2.x兼容,并进行了一些其他改进
可以在这里找到:谢谢!这最终解决了问题。我真的希望kramdown+pygments能得到Jekyll的开箱即用支持。再次感谢您的帮助,这是我最终能够制作的。将它放到GitHub上真是个好主意!谢谢你,谢谢!这最终解决了问题。我真的希望kramdown+pygments能得到Jekyll的开箱即用支持。再次感谢您的帮助,这是我最终能够制作的。将它放到GitHub上真是个好主意!谢谢你。