我正在尝试编译包小插图,以使.md文件保留在小插图文件夹中,以便仍在github上可见。我为此使用devtools
。我已经看过这个approach,并将在下面进行概述:
我已经使用devtools::use_vignette()
自动生成了一个小插图模板。然后,我修改了.Rmd
文件,使其看起来像这样(截断的模板版本):
---
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()
进行编译时,似乎并没有在vignettes目录中保留.md
文件。没有错误消息,小插图可以很好地构建,因此这有点令人困惑。因此,总而言之,有人知道如何使用
devtools::build_vignette
编译小插图,从而将基本markdown文件保存在vignettes目录中吗? 最佳答案
如果您对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()
不干净,我们就可以保留 Markdown 来源。关于r - 使用 `devtools::build_vignette`编译小插图,以便将.md保留在vignettes目录中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45575971/