减小 R Markdown HTML 输出的文件大小

标签 r knitr r-markdown

如果我创建一个没有图像或代码的非常基本的 R Markdown 文件并编写此 HTML,我最终会得到一个超过 700kb 的输出文件大小。有什么方法可以减小 HTML 文件的大小吗?

最小示例:

---
title: "Hello world!"
output:
html_document: default
html_notebook: default
---

Nothing else to say, really.

html_document 的输出文件大小为 708.6 kb,而 html_notebook 的输出文件大小为 765.7 kb。

最佳答案

文件大小较大的原因是 knit 默认创建独立文件,因此包含 javascript 依赖项(bootstrap、highlight、jquery、navigation)作为 base64 编码字符串。请参阅:http://rmarkdown.rstudio.com/html_document_format.html#document_dependencies

在您的简单情况下,不需要 javascript 功能,因此您可以执行以下操作:

---
title: "Hello world!"
output:
  html_document:
    self_contained: false
    lib_dir: libs
---

Nothing else to say, really.

这将创建一个大小约为 2.7kB 的 html 文件和一个包含 javascript 文件的单独的 libs 文件夹。然而 libs 文件夹的大小接近 4MB。尽管您不一定需要 javascript 库,但 html 文件仍会尝试加载它们。

如果您对真正的最小版本感兴趣,您可以查看 html_fragment 输出选项 ( http://rmarkdown.rstudio.com/html_fragment_format.html ):

---
title: "Hello world!"
output:
  html_fragment: default
---

Nothing else to say, really.

然而,这不会创建完整的 html 页面,而是创建可以包含到另一个网站中的 html 内容。 test.html 文件只有 36 个字节。浏览器仍然能够显示它。

作为最后的手段,您可以为 pandoc 创建自定义 html 模板: http://rmarkdown.rstudio.com/html_document_format.html#custom_templates

关于减小 R Markdown HTML 输出的文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41237664/

相关文章:

r - 如何在 markdown (.Rmd) 中包装代码和输出

R: 如何使用 rmarkdown 修正渲染 3 列的 ioslides 表?

r-markdown - 在 Rmarkdown 中合并由 kable 创建的 latex 表中的列标题

Rmarkdown : how to import all the *. bib 文件位于引用书目目录中?

R 在没有 Java 的 Windows 上发送电子邮件

r - 一个 .Rd 文件中包含多个函数

r - 在 bookdown 图形环境中包含 TikZ 代码

r - 无法使用 R markdown 和knitr 将在线图片合并到报告中

r - 如何将标题页和目录页与 knitr rmarkdown PDF 分开?

r - 鼠标点击数据的热图式图