r - 提取 .Rmd 文件的 html 依赖项(包含 htmlwidgets)

标签 r knitr r-markdown



我如何创建一个函数,它将一个 .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/

相关文章:

r - 使用 ggplot2 平滑自相关时间序列数据

r - 如何使用 RMySQL 包更新 MySQL 表

html - R knitr - 用于小文本的 kable 表格 html 格式

r - 如何在 RMarkdown 中的 PowerPoint 幻灯片上包含多个图形?

RMarkdown : Option to control number of results per page in SQL results?

r - OS X 包安装问题 : Can't find gfortran 4. 8 构建包

r - 将 CSS 加载到 Shiny 服务器时出现延迟

r - 使用 knitr、HTML/markdown 和 PDF/Latex 实现一致的图形字体大小

R 3d 绘图的旋转在 knit 和 webgl 中无法正常工作

r - 是否可以在 RStudio 中从 R markdown (.Rmd) 调用外部 R 脚本?