题
我如何创建一个函数,它将一个 .Rmd 文件(包含 htmlwidgets 代码)作为其输入,并输出一个包含其 JavaScript/CSS 依赖项的 html 文件?
具体来说,临时文件 rmarkdown 为 pandoc 的 --include-in-header
生成参数,当呈现为 html 时。
细节
示例——myfile.Rmd:
This is some text
```{r}
library(dygraphs)
dygraph(nhtemp, main = "New Haven Temperatures")
```
运行
rmarkdown::render('myfile.Rmd')
将临时文件传递给 --include-in-header
pandoc 参数,包含呈现交互式图形所需的所有 JavaScript 和 CSS(压缩数据:uri 格式,或指向复制文件的 html 链接)。这包含在最终的 html 文件中,以便所有内容都在浏览器中呈现。这是我希望能够生成的临时文件。它似乎是通过将依赖项对象传递给内部函数
rmarkdown:::html_dependencies_as_string
来输出的。 .我希望能够为包含 htmlwidgets 代码的任意 .Rmd 文档生成此文件。语境
我对使用 knitr 和 Jekyll 写博客很感兴趣,正如 Yihui 概述的那样 here .但是,这种方法的缺点是 htmlwidgets 功能都不起作用,因为 dependency injection step is missed .这是因为 pandoc 是由 Ruby/Jekyll 调用的,因此并没有从 htmlwidgets/rmarkdown 的隐形魔法中受益。我想在我的构建过程中添加一个函数,该函数将依赖项写入一个 html 文件,如果需要,Jeykll 可以将其包含在 html header 中。
最佳答案
这是一个可能的解决方案 http://benjcunningham.org/2016/06/13/hacking-together-htmlwidgets-for-jekyll.html ,这是指一个旧的帖子,也提供了一个解决方案:https://brendanrocks.com/htmlwidgets-knitr-jekyll/ .
有点哈克。这个问题的官方解决方案仍然悬而未决。 yihui/knitr-jekyll 中有一个 Unresolved 问题:https://github.com/yihui/knitr-jekyll/issues/8
关于r - 提取 .Rmd 文件的 html 依赖项(包含 htmlwidgets),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32877090/