如果我将单引号'从 HTML转换为 Markdown,它会自动转义:
% echo "'" | pandoc -f html -t markdown
\'
Run Code Online (Sandbox Code Playgroud)
我希望它不带斜杠输出,因为它使带有收缩的文本更难阅读。
我认为这可能是由于“all_symbols_escapable”选项造成的,但它仍然发生,即使我将其关闭:
% echo "'" | pandoc -f html -t markdown-all_symbols_escapable
\'
Run Code Online (Sandbox Code Playgroud)
然而,对于 markdown_strict 来说,这不是问题:
% echo "'" | pandoc -f html -t markdown_strict
'
Run Code Online (Sandbox Code Playgroud)
有什么建议?我想使用调整了选项的默认 Pandoc 标记,或者如果这不是其他人所期望的,则将其报告为错误。
转义与 pandoc 的smart扩展有关。此扩展在适当的时候将单引号转换为印刷正确的开始/结束单引号或撇号。在查看仅使用 ASCII 字符的 HTML 输出时,这一点变得最清楚:
% echo "'hello'" | pandoc -f markdown -t html --ascii
<p>‘hello’</p>
% echo "let's" | pandoc -f markdown -t html --ascii
<p>let’s</p>
Run Code Online (Sandbox Code Playgroud)
可以通过转义字符来禁用这种对引号的智能处理
% echo "let\'s" | pandoc -f markdown -t html --ascii
<p>let's</p>
Run Code Online (Sandbox Code Playgroud)
或者通过禁用降价的智能扩展:
% echo "let's" | pandoc -f markdown-smart -t html --ascii
<p>let's</p>
Run Code Online (Sandbox Code Playgroud)
因此,每当 pandoc 看到'HTML 中的一个字符时,它都会假设该字符是有意通过更正确的单引号选择的,从而确保在从 Markdown 回读时不会以“智能”方式处理它。
因此,解决方案是告诉 pandoc 它应该忽略这些细节并将 Markdown 写成好像它不会受到引号的智能处理:
% echo "'" | pandoc -f html -t markdown-smart
'
Run Code Online (Sandbox Code Playgroud)
在智能使用时,分机已被禁用markdown_strict,这就是为什么你得到了在这种情况下,期望的行为。
| 归档时间: |
|
| 查看次数: |
1352 次 |
| 最近记录: |