代码之家  ›  专栏  ›  技术社区  ›  maxpe

如何阻止pandoc转义下划线?

  •  2
  • maxpe  · 技术社区  · 6 年前

    我使用pandoc创建了我的简历的网站版本。使用的数据存储在YAML文件中。它工作得很顺利,只是有些超链接因为pandoc转义下划线而中断。有没有办法阻止它那样做?

    我尝试了一些扩展,如“tex\u math\u dollars”和“tex\u subscript”,但启用这些扩展并不能阻止转义下划线。我在潘多克的文档中找不到关于这个具体问题的任何答案。

    一个简单的例子:

    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
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   mb21    6 年前

    YAML元数据字段被解析为标记。因此,发生在您身上的事情与以下示例中的情况相同:

    $ echo 'http://some.url/with_an_underscore' | pandoc -t markdown
    http://some.url/with\_an\_underscore
    

    Pandoc在减价输出中转义下划线时过于谨慎,因为它可能是斜体。但输出是完全有效的降价。(尝试将其转换为HTML以了解我的意思。)

    也许问题是:为什么你要从降价转换到降价,并且被转义的下划线所困扰?

    如果必须这样做,可以使用 raw_attribute :

    ---
    url: |
      ```{=markdown}
      http://some.url/with_an_underscore
      ```
    ---