Я создаю сайт с
Rscript -e "rmarkdown::render_site()"
Я генерирую HTML и PDF версии документов. Сюжет, сгенерированный в чанке, не появляется, если документ PDF не сгенерирован до документа HTML.
Вот файлы:
index.Rmd
---
title: "My Website"
---
* [Test1 page](test1.html)
* [Test2 page](test2.html)
_site.yml
name: "my-website"
test1.Rmd (сначала генерируется html)
---
output:
html_document: default
pdf_document: default
---
```{r, message=FALSE, echo=FALSE}
library(ggplot2)
ggplot(mtcars, aes(x=mpg, y=disp)) + geom_point()
```
test2.Rmd (сначала сгенерирован pdf)
---
output:
pdf_document: default
html_document: default
---
```{r, message=FALSE, echo=FALSE}
library(ggplot2)
ggplot(mtcars, aes(x=mpg, y=disp)) + geom_point()
```
После запуска render_site()
через Rscript
, test1.html
пусто - подкаталога test1_files
нет. Однако test2.html
показывает этот график (и, конечно, test2_files
существует):
Это происходит как с Rmarkdown 1.10, так и с 1.10.14, версией для разработчиков по состоянию на 31 октября.
В более сложном примере из реальной жизни графики не отображаются, даже если я переключаю порядок документов, но я надеюсь, что ответ на эту проблему поможет с более сложным.
ОБНОВЛЕНИЕ: В дополнение к предложениям @giocomai, обходной путь должен скомпилировать test1.Rmd дважды:
Rscript -e "rmarkdown::render_site()"
Rscript -e "rmarkdown::render_site('test1.Rmd')"
Кажется, это работает, даже если вы компилируете несколько отдельных файлов. Предположительно, очистка менее агрессивна в случае с одним файлом.