在Jekyll上运行一个小站点。我一直遇到的一个问题是markdown会不断修改 pre 标记之间的内容。
两个显着的例子。
首先:
<pre>a & b</pre>
转换为
<pre>a &</pre>
第二个例子:
<pre>I am "happy"</pre>
转换为
<pre>I am “happy”</pre>
如果不是那么清楚,后一个例子是将报价转换为智能报价。这对我不好,因为我的pre标签包含智能引号变成语法错误的代码示例。另外,我尝试过使用&amp;在预标签之间,希望转换器改为插入&amp ;.相反,它(叹气)将其留作&amp;
有没有一种明显的方法告诉Jekyll(或Redcarpet)代码的一部分不应该通过降价转换器运行?
布拉德利
答案 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"