解析 Markdown 时保留 HTML 实体

Dre*_*son 4 markdown jekyll kramdown

我已经用尽了我的研究并尝试了很多方法但没有效果,我希望我忽略了某种简单的解决方案:

\n\n

我正在使用 Jekyll 站点来生成用于电子邮件的 HTML 文件,并且需要对特殊字符(例如破折号和智能引号)使用 HTML 实体,以避免不正确的符号解释(内容类型/字符集有时是由于复杂性,从电子邮件头中删除,我不会在这里讨论。)

\n\n

我的问题是,在以 HTML 形式输出时,解析 Markdown 似乎会将我编写的所有 HTML 实体转换为特殊字符,并且我无法使用常见方法进行转义。当我&rsquo;在 markdown 中输入以生成右弯引号时,它会转换为\xe2\x80\x99HTML 中的符号(而不是保留&rsquo;在 HTML 中)。如果我尝试用反引号转义它,它不会&rsquo在 HTML 中转换,但会将其放置在<code>标签内,从而导致它呈现为&rsquo;而不是\xe2\x80\x99。有没有办法保留特殊字符的输入 HTML 实体,或者更好的是在解析时将特殊字符转换为 HTML 实体(在 HTML 中)?

\n\n

我将 Kramdown markdown 解析器与 Jekyll 一起使用。我什至entity_output在 Kramdown 中指定了该选项,但: as_input没有成功。任何帮助深表感谢!

\n

Dav*_*uel 5

在您的 _config.yml 中,您可以配置 kramdown 以保留在代码中编写的 html 实体:

kramdown:
  entity_output: :as_input
Run Code Online (Sandbox Code Playgroud)

请参阅文档