Knitr生成非常大的html文件

时间:2017-06-07 18:58:58

标签: r knitr r-markdown

我正在尝试使用Knitr编写简单的纯文本html页面,但文件大小非常大 - 一行RMarkdown为700KB。我在R 3.4.0和R Studio 1.0.143

例如,以下RMarkdown文件生成一个695 kb的文件。当我查看源代码时,这是因为脚本标记下有大量的base 64代码。有没有什么可以做的文件,以使文件更紧凑,比如我想要的几KB,

(例如脚本src =“data:application / x-javascript; base64,LyohIGpRdW ......这将永远不断)

---
title: "This is  a test"
author: "Mukul Pareek"
date: "June 7, 2017"
output: html_document
---


## This is a test file which when knit to html is 695KB

3 个答案:

答案 0 :(得分:3)

减少HTML文件大小的关键是设置theme: null,这意味着要摆脱巨大的Twitter Bootstrap样式。以下是几个例子:

---
title: "This is  a test"
author: "Mukul Pareek"
date: "June 7, 2017"
output:
  html_document:
    theme: null
  html_vignette: default
  prettydoc::html_pretty: default
---


## This is a test file which when knit to html is 695KB

html_document(theme = NULL)返回44kb文件; html_vignette返回6.1kb; prettydoc::html_pretty返回63.7kb(您需要安装prettydoc包)。如果你想要一个“华而不实”的风格,我认为 prettydoc 在风格和文件大小之间取得了很好的平衡;否则你必须忍受那些“香草”风格。

答案 1 :(得分:2)

我的临时解决方案是使用Bioconductor的BiocStyle样式。这会将html文件大小减小到50 kb。

---
title: "This is  a test"
author: "Mukul Pareek"
date: "June 7, 2017"
output: 
  BiocStyle::html_document
---

这里有一个更极端的解决方案:How to render HTML from RMarkdown without javascript in output

它生成一个小于1 kb的html文件。

---
title: "This is  a test"
author: "Mukul Pareek"
date: "June 7, 2017"
output: 
  html_document:
    theme: null
    highlight: null
    mathjax: null
---

答案 2 :(得分:0)

一种较新的方法是使用prettydoc软件包。请参阅https://github.com/yixuan/prettydoc 有关更多信息。