Bookdown:不要重新编译未更改的Rmd文件

时间:2017-04-28 18:27:21

标签: r bookdown

简短版本:是否可以设置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的简单解决方案)是跟踪要包含在index.html的toc中的内容,以及更新{{1适当的。实际上,现在我检查各个章节的html文件,我看到toc被编码到每个章节中。所以任何解决方案都需要一个不同的架构,其中toc存在于一个单独的文件中。

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

0 个答案:

没有答案