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 路径。现在为什么会发生这种情况?
只有一个地方可以放置原始小插图,它位于根目录下的小插图目录中。这是您在开发包时编写带有文本和代码示例的 Rmd 文件的地方。
当您构建小插图时,Rmd 文件将被编织。生成的 html 文件、原始 Rmd 文件和提取的 R 代码将三个文件保存在 inst/doc 目录中。这是将保留在包安装中的内容。这是用户将能够阅读的内容。
{pkgdown} 使用你的小插图目录的 Rmd 文件来编织 html 文件,以便它可以为你的包建立一个网站。它还为函数列表和自述文件中的索引构建了一个页面,该文件也用于您的 git 存储库。这不应该留在 R 包中,用户无法访问。这是为了在 Internet 上展示您的包裹。
因此,在开发时,您只需在小插图目录中编写 Rmd 小插图。其他人会自动保留他们需要的东西。