我正在尝试将.qmd文件渲染为 HTML 并指定输出文件。我正在 MacOS 12.6 上从 RStudio 的四开本项目编译它。我在 YAML 标头中还有一个引导主题。
---
title: "quarto_output_experiment"
format:
html:
theme: journal
---
Run Code Online (Sandbox Code Playgroud)
如果我使用 RStudio 渲染它Cmd + Shift + K,HTML 文档将出现在与 相同的目录中,并且.qmd看起来很好。但是,如果我从指定输出目录(名为 的文件夹)的 Quarto CLI 渲染它output,则 HTML 无法渲染绘图并且缺少任何类型的格式和样式。命令是
quarto render quarto_output_experiment.qmd --output output/report.html
这是结果。
我缺少什么?如何在不同的目录中渲染 HTML 并具有绘图和正确的样式?
作为参考,这是文档本身
---
title: "quarto_output_experiment"
format:
html:
theme: journal
---
## Quarto
Quarto enables you to weave together content and executable code into a finished document.
To learn more about Quarto see <https://quarto.org>.
```{r}
1 + 1
```
# Lorem ipsum
```{r}
library(ggplot2)
ggplot(data.frame(x = rnorm(100)), aes(x)) + geom_density()
```
Run Code Online (Sandbox Code Playgroud)
指定--output-dir而不是--output生成一个带有绘图和样式的文档,但问题仍然存在,是否有办法更改输出 HTML 文件的名称?可能不是关键任务,但我仍然很好奇。
这是一个非常奇怪的错误,它似乎与路径有关(请参阅此处quarto::render_quarto()。通常,您可以这样使用,
quarto::quarto_render(input = "quarto_output_experiment.qmd", output_file = "report.html")
Run Code Online (Sandbox Code Playgroud)
这可行,但是当您添加文件夹名称时
quarto::quarto_render(input = "quarto_output_experiment.qmd", output_file = "results/report.html")
Run Code Online (Sandbox Code Playgroud)
它不起作用了。问题是quarto_output_experiment_files存储库和图像的文件夹 ( ) 不会自动放置在输出文件所在的位置。
我会在这里提出问题。
目前一个可能的解决方案是self-contained生成独立的 html 文件的参数,例如
---
title: "quarto_output_experiment"
format:
html:
theme: journal
self-contained: true
---
Run Code Online (Sandbox Code Playgroud)
然后您可以file.copy将该文件移动到正确的文件夹中。
编辑:该选项self-contained已贬值,请embed-resources改用!关联