有选择地抑制晕影构建

Selectively suppress vignette build

我正在转换中的BUGS示例 https://github.com/stan-dev/example-models/tree/master/bugs_examples 放入仅限示例的包中,每个示例都有一个 .Rmd 小插图。完整的包将建立在 TravisCI 上。

为一个示例构建一个小插图至少需要 2 分钟,因此对于调试版本,应该可以 include/exclude 个单独的小插图。我知道我可以 运行 手动编织 运行 个,但有时 运行 需要整个构建。

在我目前的解决方法中,Rmd 文件被移动到另一个目录,但解决方案并不好。我正在寻找这样的东西:

---
title: "Rats: a normal hierarchical model"
date: "`r Sys.Date()`"
build: "`r Sys.getenv("build_bugs_rats") != ''`"
output: rmarkdown::html_vignette

欢迎提出其他想法。

我不知道有选择地构建或不构建小插图的内置方法。我的技巧是调整 .travis.yml 以执行以下操作:

  • 将 vignette 源代码和 vignette 输出保留在两个单独的分支上(例如,将输出保留在 gh-pages
  • 检查当前构建的提交消息:如果它包含像BUILD_ALL_VIGNETTES这样的关键字,则构建并使用小插图检查整个包,并将编译后的小插图推送到gh-pages分支。
  • 如果提交消息不包含关键字,则检查当前提交的文件列表。删除 /vignettes 中不属于当前提交的所有 .Rmd 文件。然后用 vignettes 构建并检查整个包,并将编译的 vignettes(如果有)推送到 gh-pages 分支。