我有一本Bookdown书,我想为其建立GitBook网站以及PDF和EPUB下载。我将使用Travis构建所有3个输出,并且可以从GitBook网站上下载PDF和EPUB。
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
。但是,Yihui是专家,他选择了使用后者的方法。
所以,我的问题是:当要构建多个输出时,在像Travis这样的连续集成服务器上调用的最佳脚本是什么?
答案 0 :(得分:1)
在 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'
。