4

短版:是否可以设置 Rstudio bookdown 以便在使用 html 输出时,它不会重建未更改的 Rmd 文件,而是使用现有的 html 文件(有点像make)?

长版:我在 RStudio 中使用 bookdown 来保存项目笔记本。我为每一天创建一个单独的 Rmd 文件,并new_session: yes_bookdown.yml.

理想情况下,输出应该在一天结束时“锁定”,以便准确反映当天的工作,包括当天的环境(可能与当前环境不同,因为我更新脚本和数据)。特别是,当我重建这本书时,我不希望(比如说)一个月前的页面发生变化(一个例外是如果我添加一个关于随后发现的错误的反对说明)。

knitr::opts_chunk$set(cache = TRUE)我可以通过插入每个文件的第一个代码块来防止 R 代码块重新运行。但是,当我重建这本书时,每个 Rmd 文件仍然转换为 md 然后转换为 html,随着我的笔记本的增长,这变得越来越耗时!我意识到我不需要重建本书来编织当前的章节,但定期重建是可取的,以保持目录和搜索索引的最新状态。

如果有一种重建方法可以将现有的 html 文件重新用于未更改的章节,那就太好了。我意识到这方面的一个潜在挑战(以及为什么可能没有使用 的简单解决方案make)是跟踪要包含在 toc 中的内容index.html,以及search_index.json适当地更新。实际上,现在我检查了各个章节的 html 文件,我看到目录被编码到每个章节中。因此,任何解决方案都需要不同的架构,其中 toc 位于单独的文件中。

无论如何,我只是想看看是否有隐藏选项或解决方法!

4

0 回答 0