bookdown::render_book 与 rmarkdown::render_site 构建所有输出
bookdown::render_book vs. rmarkdown::render_site to build all outputs
我有一本 Bookdown 书,我想为其建立一个 GitBook 站点以及 PDF 和 EPUB 下载。我将使用 Travis 构建所有 3 个输出,PDF 和 EPUB 可从 GitBook 站点下载。
bookdown-demo
为 _build.sh 中的每个输出调用一次 bookdown::render_book
。
但是,根据 RStudio 中的日志,Build Book
按钮在构建 All Formats
时使用 rmarkdown::render_site(encoding = 'UTF-8')
在单个命令中构建所有输出。
我想确保我的 CI 服务器上发生的事情与我的 IDE 上发生的事情完全相同,所以我似乎应该让 Travis 调用 rmarkdown::render_site
而不是多次调用bookdown::render_book
的调用与 bookdown-demo
所做的一样。不过一辉是行家,他选择了后一种方式。
所以,我的问题是:当构建多个输出时,在像 Travis 这样的持续集成服务器上调用的最佳脚本是什么?
在 bookdown 项目中,它们通常没有什么区别,因为 rmarkdown::render_site()
eventually calls bookdown::render_book()
会渲染你的书。随意使用任何一种方式。
唯一的例外是您的 index.Rmd
不 包含字段 site: bookdown::bookdown_site
。在那种情况下,rmarkdown::render_site()
将不起作用,因为它不知道这应该是一个 bookdown 项目。
顺便说一句,要使用 bookdown::render_book()
呈现所有输出格式,您可以使用参数 output_format = 'all'
.
我有一本 Bookdown 书,我想为其建立一个 GitBook 站点以及 PDF 和 EPUB 下载。我将使用 Travis 构建所有 3 个输出,PDF 和 EPUB 可从 GitBook 站点下载。
bookdown-demo
为 _build.sh 中的每个输出调用一次 bookdown::render_book
。
但是,根据 RStudio 中的日志,Build Book
按钮在构建 All Formats
时使用 rmarkdown::render_site(encoding = 'UTF-8')
在单个命令中构建所有输出。
我想确保我的 CI 服务器上发生的事情与我的 IDE 上发生的事情完全相同,所以我似乎应该让 Travis 调用 rmarkdown::render_site
而不是多次调用bookdown::render_book
的调用与 bookdown-demo
所做的一样。不过一辉是行家,他选择了后一种方式。
所以,我的问题是:当构建多个输出时,在像 Travis 这样的持续集成服务器上调用的最佳脚本是什么?
在 bookdown 项目中,它们通常没有什么区别,因为 rmarkdown::render_site()
eventually calls bookdown::render_book()
会渲染你的书。随意使用任何一种方式。
唯一的例外是您的 index.Rmd
不 包含字段 site: bookdown::bookdown_site
。在那种情况下,rmarkdown::render_site()
将不起作用,因为它不知道这应该是一个 bookdown 项目。
顺便说一句,要使用 bookdown::render_book()
呈现所有输出格式,您可以使用参数 output_format = 'all'
.