【问题标题】:A link to local html file in r vignetter 小插图中本地 html 文件的链接
【发布时间】:2020-07-14 10:41:36
【问题描述】:

有没有办法将本地 .html 文件的链接包含到我在 R 中的包小插图?

我正在为一个包写一个小插曲,我想包含一个指向我以前研究的链接。这项研究被保存为 .html 文件,但由于安全限制,不能在任何地方托管它。所以我创建了一个 \inst 目录,以便这些文件随包一起交付。但是如果我像往常一样提供链接,它就不起作用了

the more details are in this [research](./inst/research/research.html)

URL '/help/library/packagename/doc/inst//research/research.html' not found

【问题讨论】:

  • 您是否打算以任何方式分发您的包裹?因为如果由于安全限制您无法在任何地方托管您的文件(您的意思是什么?),如果它包含您的研究作为文件,很难看到您如何将您的包放在(例如)CRAN 上。
  • 公司有自己的repo,所以仅供娱乐使用。
  • 知道了,谢谢。你试过../inst/research/research.html而不是./inst/research/research.html吗?
  • 是的,没有帮助。安装软件包后,数据在程序文件/r/library/research/reasearch.html 中。但是硬编码通行证并没有效果。

标签: r r-markdown r-package


【解决方案1】:

./inst/research 中的文档将安装在./research 下的包目录中(./inst 中的所有内容都是moved one level up during installation)。
可以通过find.package获取包安装目录。
因此,您可以通过在 Markdown 中包含以下代码来在小插图中创建链接:

[research](`r paste0('file:///',file.path(find.package('NameOfPackage'),'research','research.html'))`)

请注意,链接在 RStudio Viewer 中不起作用,因此请在安装包后在浏览器中尝试。
这应该适用于从源代码安装的软件包。

【讨论】:

  • 我已将我的 html 用于 inst/research。并以这种方式在我的 .rmd 中传递一个链接: [research]('r paste("file://", .libpaths()[length(.libpaths)], "packname", "research", "research.html ", sep = "/")')。结果,链接是正确的,但单击时不会打开,如果我右键单击并选择“在新选项卡中打开”,我会看到链接,但在我选择地址之前不会呈现文档然后按回车。
  • 如果我从文件夹中打开小插图,一切都很好,但如果我用browseVignette()打开它们,我会有那种奇怪的行为。
  • 我忘记包含我在第一篇文章中想到的 file:///。可以试试更新的版本吗?
  • 非常感谢您的回答!我使用了 .libpaths 和它的最后一个输出,因为你的函数集将我们引导到某个临时文件夹,也许它们是在构建包时创建的,我不知道。也许您知道为什么通过 BrowseVignette 函数调用小插图时链接无法点击?
  • 我还没有对 BrowseVignette 的解释...
猜你喜欢
  • 2014-09-22
  • 2014-02-12
  • 1970-01-01
  • 1970-01-01
  • 2019-09-15
  • 1970-01-01
  • 1970-01-01
  • 2019-11-26
  • 1970-01-01
相关资源
最近更新 更多