我正在尝试使用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
答案 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 有关更多信息。