使用`devtools :: build_vignette`编译一个插图,以便.md保存在vignettes目录中

时间:2017-08-08 18:51:40

标签: r devtools vignette

我正在尝试编译一个包小插图,使.md文件保留在vignette文件夹中,以便它仍然可以在github上看到。我正在使用.Rmd来解决所有这些问题。我看过这个approach并将在下面概述:

我使用--- title: "package" author: "author" date: "`r Sys.Date()`" output: rmarkdown::html_vignette: toc: true keep_md: true vignette: > %\VignetteIndexEntry{Vignette Title} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- Vignettes are long form documentation commonly included in packages. Because they are part of the distribution of the package, they need to be as compact as possible. The `html_vignette` output type provides a custom style sheet (and tweaks some options) to ensure that the resulting html is as small as possible. The `html_vignette` format: - Never uses retina figures - Has a smaller default figure size - Uses a custom CSS stylesheet instead of the default Twitter Bootstrap style ## Vignette Info Note the various macros within the `vignette` section of the metadata block above. These are required in order to instruct R how to build the vignette. Note that you should change the `title` field and the `\VignetteIndexEntry` to match the title of your vignette. 自动生成了晕影模板。然后我修改了.yaml文件看起来像这样(截断的模板版本):

devtools::build_vignettes()

因此修改了.md但是当我使用devtools::build_vignette进行编译时,它似乎没有在vignettes目录中留下strftime('%B')文件。没有错误信息和小插图构建正常,所以这有点令人困惑。

总结一下这个问题,有人知道如何使用<%= publication.month_published.strftime('%B') %>编制一个插图来使基本的降价文件保存在vignettes目录中吗?

1 个答案:

答案 0 :(得分:8)

如果您对build_vignette()以外的功能开放,那么这很容易,因为在一天结束时,所有只是外部pandoc的包装器二进制的。

/tmp/vig> ls -l     ## start with nothing but Rmd
total 4
-rw-r--r-- 1 user grp 1015 Aug 10 14:21 soVig.Rmd
/tmp/vig> 
/tmp/vig> Rscript -e 'rmarkdown::render("soVig.Rmd", clean=FALSE)'


processing file: soVig.Rmd
  |.................................................................| 100%
   inline R code fragments


output file: soVig.knit.md

/usr/bin/pandoc +RTS -K512m -RTS soVig.utf8.md --to html --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output soVig.html --smart --email-obfuscation none --self-contained --standalone --section-divs --template /usr/local/lib/R/site-library/rmarkdown/rmd/h/default.html --highlight-style pygments --css /usr/local/lib/R/site-library/rmarkdown/rmarkdown/templates/html_vignette/resources/vignette.css --mathjax --variable 'mathjax-url:https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' 

Output created: soVig.html
/tmp/vig> ls -l soVig.*
-rw-r--r-- 1 user grp 7066 Aug 10 14:24 soVig.html
-rw-r--r-- 1 user grp 1011 Aug 10 14:24 soVig.knit.md
-rw-r--r-- 1 user grp 1015 Aug 10 14:21 soVig.Rmd
-rw-r--r-- 1 user grp 1011 Aug 10 14:24 soVig.utf8.md
/tmp/vig> 

因此,只需告诉render()不清理,我们就可以保留降价来源。