我使用 pandoc 创建我的简历的网站版本。使用的数据存储在 YAML 文件中。它工作顺利,除了一些超链接被破坏,因为 pandoc 转义下划线。有什么办法可以阻止它这样做吗?
我尝试了一些扩展,例如“tex_math_dollars”和“tex_subscript”,但启用这些扩展并不能阻止转义下划线。我在 pandoc 的文档中找不到这个具体问题的任何答案。
一个最小的例子:
YAML 文件(example.md):
---
url: http://some.url/with_an_underscore
---
模板文件(template.md):
$url$
调用 pandoc:
pandoc example.md --to markdown --from markdown --output out.md --template template.md
结果输出(out.md):
http://some.url/with\_an\_underscore
最佳答案
YAML 元数据字段被解析为 Markdown。因此,您身上也会发生同样的事情,如以下示例所示:
$ echo 'http://some.url/with_an_underscore' | pandoc -t markdown
http://some.url/with\_an\_underscore
Pandoc 在 Markdown 输出中转义下划线时过于谨慎,因为它可能是斜体。但输出是完全有效的 Markdown 。 (尝试将其转换为 HTML,看看我的意思。)
也许问题是:为什么你要从 Markdown 转换为 Markdown 并被转义的下划线所困扰?
如果绝对必要,您可以使用 raw_attribute 来规避重新序列化。 :
---
url: |
```{=markdown}
http://some.url/with_an_underscore
```
---
关于pandoc - 如何阻止 pandoc 转义下划线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49407274/