1

在 Jekyll 上运行一个小站点。我一直遇到的一个问题是降价一直在修改pre标签之间的内容。

两个显着的例子。

第一的:

<pre>a & b</pre> 

转换为

<pre>a &amp;</pre>

第二个例子:

<pre>I am "happy"</pre> 

转换为

<pre>I am “happy”&lt;/pre>

如果不是很清楚,后一个示例是将引号转换为智能引号。这对我不利,因为我的 pre 标签包含智能引号成为语法错误的代码示例。另外,我尝试在前置标签之间使用 &,希望转换器会插入一个 &。相反,它(叹气)将其保留为 &

有没有一种明显的方法可以告诉 Jekyll(或 Redcarpet)一段代码不应该通过降价转换器运行?

布拉德利

4

1 回答 1

0

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"
于 2013-04-06T00:17:21.653 回答