【问题标题】:Export R package documentation to a web page将 R 包文档导出到网页
【发布时间】:2015-06-17 16:29:32
【问题描述】:

我在Hadley Wickham's instruction on how to build and document packages with Roxygen 之后创建了一个 R 包。现在我想将功能帮助页面和小插图导出到一堆 html 文件中,以便在网站上也可以阅读和链接到它。

当我查看已安装包的库时,有一个 html 文件夹,但它只包含一个 00Index.html 页面。有没有一种简单的方法可以导出我的包文档的其余部分(功能帮助页面和小插图)?

【问题讨论】:

  • 为了包含在包中,预计要呈现的小插图的格式是什么?
  • 小插图最好是 pdf 格式,因为绘图占用的空间略小,但两者都很好。我知道如何将小插图导出为 pdf 和 html 格式。我的问题更多是关于将函数文档导出到 html 文件。

标签: r package


【解决方案1】:

您可以使用 Hadley Wickham 的开发中(即不在 CRAN 上)包 staticdocs

或者,如果您有渲染的 Rd 文件,您可以使用 R 附带的 tools 包中的实用函数 Rd2HTML 将每个文件转换为 HTML。使用 ?tools::Rd2HTML 阅读有关它的更多信息

【讨论】:

  • 感谢将tradeflows::addregion的函数文档导出为html文件的说明,我可以使用Rd2HTML(Rd = "man/addregion.Rd", out = "/tmp/addregion.html", package = "tradeflows"),但生成的文件底部没有指向包的链接。有没有办法让这个链接。我会检查 staticdocs 包。
  • 使用函数名Rd2HTML 作为搜索关键字,我找到了a function created by Yihui Xie,它生成了我的静态文档,带有链接。正如一位 cmets 所指出的,将工作目录更改为 system.file('html', package = "my_package_name") 有助于在正确的位置生成静态 html 文件。
【解决方案2】:

Yihui Xie's function to Build Static HTML Help Pages for R Packages 稍作修改,使其在包的 html 目录中创建静态页面。

static_help = function(pkg, links = tools::findHTMLlinks()) {
    wd <- getwd()
    helpdir <- system.file('html', package = "tradeflows")
    setwd(helpdir)   
    message("Generated help files will be placed in ", helpdir)
    pkgRdDB = tools:::fetchRdDB(file.path(find.package(pkg), 
                                          'help', pkg))
    force(links); topics = names(pkgRdDB)
    for (p in topics) {
        tools::Rd2HTML(pkgRdDB[[p]], 
                       paste(p, 'html', sep = '.'),
                       package = pkg, 
                       Links = links, 
                       no_links = is.null(links))
    }
    setwd(wd) # Get back to the current working directory
}

要将其用于开发中的包:

static_help("my_package_name")

每次构建包时都需要重新运行此函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    相关资源
    最近更新 更多