Иногда желательно создать ноутбук R, который не является автономным. Например, можно загрузить Mathjax из локального файла по своему выбору, и для этого self_contained
должно быть FALSE
. Но я считаю, что по умолчанию даже самые простые ноутбуки R не отображаются должным образом, когда заголовок YAML включает self_contained: FALSE
. Вот минимальный пример:
---
title: "Notebook, not self-contained"
output:
html_notebook:
self_contained: false
---
Hello.
Когда этот файл отображается с параметрами по умолчанию rmarkdown::render()
- или когда я "предпросматриваю" записную книжку, сохраняя ее в RStudio - полученный HTML файл не использует R Notebook по умолчанию CSS, и в верхней части файла много разногласий, как показано в в этом посте . Кажется, проблема в том, что по умолчанию rmarkdown::render()
использует clean = TRUE
- а для ноутбуков R это означает, что внешний каталог, содержащий все зависимости (jquery, bootstrap, et c.) уничтожен, как только он будет создан. Например, если указанный выше файл называется «myNotebook.Rmd», вызов rmarkdown::render()
с параметрами по умолчанию приведет к созданию каталога myNotebook_files
, содержащего зависимости, - и он почти мгновенно удалит этот каталог.
Проблема исчезнет, если вы позвоните rmarkdown::render()
с clean = TRUE
. Но это решение не оптимально. Он оставляет файлы .md в выходном каталоге, который я хотел бы удалить. И он не работает с ярлыками RStudio для вязания или предварительного просмотра записной книжки.
Есть ли способ изменить поведение clean = TRUE
по умолчанию rmarkdown::render()
, чтобы он не удалял "_files" каталог, когда self_contained
установлен на FALSE
?
Любопытно, что эта проблема возникает, только если выходной формат установлен на html_notebook
, а не на html_document
.