当README.md包含图像时,从包检查中注意或警告

eff*_*fel 12 r pandoc r-markdown

我有一个包含一个README.Rmd我传递给rmarkdown::render() 生产的包README.md和一个README_files包含图像的目录README.md.这看起来像下面的树.

README_files不是一个标准的包目录,所以如果它不在.Rbuildignore,检查包R CMD check显示一张纸条:

* checking top-level files ... NOTE Non-standard file/directory found at top level: README_files

但是.Rbuildignore,当且仅当检查包时,包括目录会导致警告--as-cran.IIUC Pandoc尝试README.md在忽略的README_files目录中生成HTML ,但图像不可用.

Conversion of ‘README.md’ failed:
pandoc: Could not fetch README_files/unnamed-chunk-14-1.png
README_files/unnamed-chunk-14-1.png: openBinaryFile: does not exist (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

有没有办法在--as-cran这里搞清楚?

??? README_files ?   ??? figure-markdown_github ?   ??? unnamed-chunk-14-1.png ?   ??? unnamed-chunk-15-1.png ?   ??? unnamed-chunk-16-1.png ?   ??? unnamed-chunk-26-1.png ?   ??? unnamed-chunk-27-1.png ??? README.md ??? README.Rmd

Rob*_*man 14

当前优选的解决方案(至少如所使用的ggplot2)是存储图像man/figures/.所以在README.Rmd文件中,包含类似以下设置块的内容.

```{r, echo = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-"
)
```
Run Code Online (Sandbox Code Playgroud)

这使得图像隐藏在一个不会产生曲目检查错误的地方,但它们仍然是包装的一部分.因此,您不必将它们存储在别处或使用调用png::readPNG.