我长期使用 R Markdown 来创建 HTML 文档。这些文档依赖于通过 HTTPS 访问的外部 JS 文件。以下是此类 R Markdown 文档的 YAML 标头示例:
---
title: "My R Markdown document"
output:
html_document:
includes:
before_body: https://example.com/myMathjax.js
---
这个方法有效。但我现在尝试从 R Markdown 切换到 Quarto,但找不到包含 JS 文件的方法。规定的方法似乎是使用
include-before-body
,如本例所示:
---
title: "My Quarto document"
format:
html:
include-before-body: https://example.com/myMathjax.js
---
但是,当我尝试渲染具有此类标头的四开文档时,我收到一条错误消息:“错误:解析 include-before- 时出错,无法打开文件https://example.com/myMathjax.js”。奇怪的是,该文件可以打开——确实,R Markdown 打开它并在渲染时使用它没有问题。我怎样才能让四开本使用这个文件?
我搜索了 SO、Quarto 文档和 Github 存储库。但他们似乎都没有谈到这个特定的问题。据我所知,问题要么在于 pandoc,要么在于 Quarto 在幕后与 pandoc 通信的方式。
我正在将 Quarto 1.3.450 与 VS Code 和 VS Code Quarto 扩展一起使用。
2023年9月16日更新:进一步讨论https://github.com/quarto-dev/quarto-cli/discussions/6854。
doc.qmd
---
title: "My Quarto document"
format:
html:
include-before-body: included-content.html
---
## Quarto
included-content.html
<script type="text/javascript" src="https://example.com/myMathjax.js"></script>