停止在Jekyll中预转换内容之间的内容

时间:2013-04-03 23:58:52

标签: markdown jekyll redcarpet

在Jekyll上运行一个小站点。我一直遇到的一个问题是markdown会不断修改 pre 标记之间的内容。

两个显着的例子。

首先:

<pre>a & b</pre> 

转换为

<pre>a &amp;</pre>

第二个例子:

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

转换为

<pre>I am “happy”</pre>

如果不是那么清楚,后一个例子是将报价转换为智能报价。这对我不好,因为我的pre标签包含智能引号变成语法错误的代码示例。另外,我尝试过使用&amp;在预标签之间,希望转换器改为插入&amp ;.相反,它(叹气)将其留作&amp;

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

布拉德利

1 个答案:

答案 0 :(得分:0)

Redcarpet 2.2.2 does not modify code between HTML tags。请在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"