我们的博客有很多代码示例。因为我们当前使用的是github页面,所以使用kramdown+rouge呈现标记。
这就引出了我的问题:是否有可能在Kramdown中选择特定于语法的突出显示?
问题是kramdown似乎错误地认为几乎所有以{开头的代码都是JSON代码块。当包含的代码不是JSON时,这通常会导致"JSON错误“突出显示在我们的帖子中。
我可以禁用这种语法“猜测”吗?或者我是否被困在错误突出显示的代码块中添加text语言标志,或者更糟糕的是,对于错误突出显示的代码范围,添加{:.language-text}。
希望有一种简单的方法来禁用它。
发布于 2016-05-04 03:34:11
Kramdown有一些options
coderay_default_lang
设置突出显示代码块的默认语言
如果没有为代码块设置语言,则改用默认语言。如果不应使用默认语言,则该值必须是coderay或nil支持的语言之一。
您可以将其设置为nil而没有默认值,或者将其设置为text以使其成为默认值。
syntax_highlighter
设置语法高亮显示
指定应用于突出显示代码块和跨度的语法高亮工具。如果将此选项设置为nil,则不会突出显示语法。
语法荧光笔的选项可以使用syntax_highlighter_opts配置选项进行设置。
默认值:coderay
将syntax_highlighter设置为nil,并且根本没有语法高亮工具。
或者,您可以将其设置为rouge,然后通过syntax_highlighter_opts配置选项传入Rouge支持的任何选项。例如,红色的default_lang设置可能会满足您的需要。
您可以通过命令行设置选项:
kramdown --coderay_default_lang=text或者在Ruby代码中:
Kramdown::Document.new(source_text, {coderay_default_lang: "text"})或者在文档本身中:
{::options coderay_default_lang="text" /}也许有一种方法可以从你正在使用的博客引擎中将这些选项传递给Kramdown,但在没有任何迹象表明你正在使用什么的情况下,我只能说查看它的文档。
https://stackoverflow.com/questions/37011889
复制相似问题