在Jekyll上运行一个小网站。我一直遇到的一个问题是,markdown不断修改pre标记之间的内容。
两个明显的例子。
:
<pre>a & b</pre>
转换为
<pre>a &</pre>
第二个例子:
<pre>I am "happy"</pre>
转换为
<pre>I am “happy”</pre>
如果不是很清楚,后面的例子是将引号转换为智能引号。这对我来说很糟糕,因为我的预标记包含的代码示例中,智能引号会导致语法错误。此外,我试过使用&在预标记之间,希望转换器会插入&相反,它(叹气)将其保留为&
是否有一种明显的方法来告诉Jekyll(或Redcarpet)一段代码不应该通过markdown转换器运行?
布拉德利Redcarpet 2.2.2不修改HTML标签之间的代码。在IRB中试试:
require 'redcarpet'
markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, :autolink => true, :space_after_headers => true, :fenced_code_blocks => true)
markdown.render("<pre>They're not for sale, says Johnson & Johnson.</pre>")
这是我的结果:
"<pre>They're not for sale, says Johnson & Johnson.</pre>n"