R 包小插图

and*_*ndy 3 vignette r package tidyverse

我对为什么 R 包中的“小插图”有多个可能的位置感到有些困惑。我不明白哪些位置用于什么和什么时候。例如:

devtools::use_vignettes()
Run Code Online (Sandbox Code Playgroud)

在包的根目录下创建一个小插图文件夹

devtools::build_vignettes() 
Run Code Online (Sandbox Code Playgroud)

创建一个 inst/doc 文件夹,该文件夹在构建时提升为根目录

pkgdown::build_site()
Run Code Online (Sandbox Code Playgroud)

创建一个 docs 文件夹。

作为背景:我已经阅读了 H.Wickhams R 包的书,并且我使用第一个选项创建了几个包,并且一切都表现良好。我会让用户从 github 安装使用:

devtools::install_github(pkg,build_vignettes=TRUE)
Run Code Online (Sandbox Code Playgroud)

现在,我刚刚开始为使用第一个和第三个选项的包的联合开发做出贡献。我注意到小插图文件夹中的 .rmd 文件与 docs 文件夹中的 index.html 文件相同。pkgdown 是否从小插图文件夹中复制?

同样对于这个包,当我从 github 安装时(使用 build_vignettes=TRUE)我收到一个错误,说安装失败,因为找不到 doc/index.html 路径。现在为什么会发生这种情况?

Séb*_*tte 5

小插曲开发

只有一个地方可以放置原始小插图,它位于根目录下的小插图目录中。这是您在开发包时编写带有文本和代码示例的 Rmd 文件的地方。

为您的用户构建小插图

当您构建小插图时,Rmd 文件将被编织。生成的 html 文件、原始 Rmd 文件和提取的 R 代码将三个文件保存在 inst/doc 目录中。这是将保留在包安装中的内容。这是用户将能够阅读的内容。

{pkgdown}

{pkgdown} 使用你的小插图目录的 Rmd 文件来编织 html 文件,以便它可以为你的包建立一个网站。它还为函数列表和自述文件中的索引构建了一个页面,该文件也用于您的 git 存储库。这不应该留在 R 包中,用户无法访问。这是为了在 Internet 上展示您的包裹。

结论

因此,在开发时,您只需在小插图目录中编写 Rmd 小插图。其他人会自动保留他们需要的东西。