2016-06-20 43 views
4

我正在使用devtools构建R包。所有文档均使用roxygen2构建。对于这些功能这一切都很好,但我怎样才能为整个软件包提供一个帮助页面,其中列出了所有可用的功能。使用devtools为R包创建主要帮助页面(索引)

在其他包总是有每个帮助页面底部的链接,导致索引页:

Screenshot from dplyr package (exemplary index link)

我怎样才能建立/链路与devtools此索引页?

编辑:如果我通过“?functionName”访问帮助页面,将会有以下输出打印到控制台“使用functionName的开发文档”。从devtools的github仓库中,我找到了输出这个输出的function dev-help.R。在其评论中指出,链接不适用于此开发帮助。

Note that this only renders a single documentation file, so that links to other files within the package won't work.

那么我该如何使用正常的文档而不是dev-help?

+1

您是否试过[this](http://r-pkgs.had.co.nz/man.html#man-packages)?我们可以在什么地方看到包裹吗? –

+0

我认为这是自动添加的。你试过这个吗? 使用'devtools :: document(“。”)'。 –

+0

@VincentBonhomme:我已经试过了,它成功构建了一个可以通过“?packageName”访问的页面。然而,这并不能解决我们的问题,因为它不包含所有的功能(如通常的索引页面),并且没有链接到函数的所有子页面。该软件包目前只是我们公司的内部软件包,因此您可以访问它。 – Malte

回答

3

找到解决方案。如果你有以下流程:

  1. create()
  2. document()
  3. build()
  4. install.packages()
  5. library(<pkg-name>)

的文件将在R的命名空间中document()加载。因此,稍后?functionName的调用将引用文档的开发阶段,而不是编译软件包提供的开发阶段。

因此,安装后创建一个新的R会话就解决了这个问题!

+0

相同的结果做得好@Malte! –

+0

我不能使它与install.packages一起工作,只好使用install。错误:...不可用(对于R版本3.4.0) – Ferroao