【问题标题】:How to force pandoc not to build <a> tag when url is in YAML metadata当 url 在 YAML 元数据中时,如何强制 pandoc 不构建 <a> 标记
【发布时间】:2017-11-03 12:09:11
【问题描述】:

假设我们有一个简单的空 .Rmd 文件,其中包含这样的 YAML 元数据

---
link: https://google.com
---

然后在html模板中,会自动出现在&lt;a&gt;标签中

<a href="http://google.com" class="uri">http://google.com</a>

当 YAML 中有 url 时,如何强制 pandoc 不构建 &lt;a&gt;?我的意思是我想最终得到的是html模板中的计划文本

http://google.com

或者,如果我使用自己的 html 模板,我可以这样添加链接

<a href="$link$">Google</a>

感谢您的帮助!

【问题讨论】:

    标签: r yaml r-markdown pandoc


    【解决方案1】:

    这是由默认情况下使用输出格式下的md_extensions 选项启用的扩展引起的,特别是auto_link_bare_uris。您可以在 YAML 标头中禁用此功能。

    ---
    title: https://www.google.com
    output:
      html_document:
        md_extensions: -autolink_bare_uris
    ---
    

    请注意,这将影响整个文档中 URI 的自动链接,而不仅仅是在标题中。禁用扩展后,您需要将链接括在尖括号中以创建链接, &lt;https://www.google.com&gt;Pandoc guideR Markdown site 包含详细信息。

    【讨论】:

      【解决方案2】:

      用 HTML ASCII 引用替换标题中的字符将阻止链接自动生成并正确显示在页面上。比如这里我把冒号换了:

      ---
      title: https&#58;//gooogle.com
      ---
      

      【讨论】:

      • 其实是次优方案。
      • 同意...如果有另一个我期待学习如何做到这一点。
      猜你喜欢
      • 2014-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多