3

我有点困惑,为什么 R 包中有多个可能的“小插曲”位置。我不明白哪些位置用于什么以及何时。例如:

devtools::use_vignettes()

在包的根目录下创建一个 vignettes 文件夹

devtools::build_vignettes() 

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

pkgdown::build_site()

创建一个 docs 文件夹。

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

devtools::install_github(pkg,build_vignettes=TRUE)

现在,我刚刚开始参与联合开发一个包,其中使用了第一个和第三个选项。我注意到vignettes 文件夹中的.rmd 文件与docs 文件夹中的index.html 文件相同。pkgdown 是否从 vignettes 文件夹中复制?

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

4

1 回答 1

5

小插曲开发

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

为您的用户构建小插曲

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

{pkgdown}

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

结论

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

于 2019-03-20T21:29:07.173 回答