如何从包含 htmlwidget 的 rmarkdown 文件生成 md 文件
How to generate an md file from a rmarkdown file containing an htmlwidget
我正在用这个 rmd
创建一个 html 文件
---
title: "test"
author: "me"
date: '`r Sys.Date()`'
output: html_document
---
```{r}
data(HairEyeColor)
rpivotTable::rpivotTable(data = HairEyeColor
, rows = "Hair"
,cols="Eye"
, vals = "Freq"
, aggregatorName = "Sum"
, rendererName = "Table"
, width="100%"
, height="400px")
```
和
rmarkdown::render( input = 'file.RMD' , output_file = 'file.html'
, output_format= html_document( self_contained=TRUE), clean = FALSE
, quiet = FALSE )
输出没问题,但我需要降价文件 (file.md) 稍后重新创建 html 文件(无法访问数据)
rmarkdown生成两个md文件[file.knit.md]和[file.utf8.md]
但是当我渲染这两个中的任何一个时,file.html 中缺少 html 小部件。
rmarkdown::render( input = 'file.utf8.md' , output_file = 'file.html'
, output_format= html_document( self_contained=TRUE) )
rmarkdown 对 pandoc 的调用有一个 [--include-in-header] 参数指向一个具有小部件依赖项的临时文件,但我没有找到在渲染 md 文件时包含它的方法(即 - include-in-header /tmp/Rtmp1M0RpP/rmarkdown-str1a169e14827.html" )
下面我粘贴了来自 rmarkdown 的 pandoc 调用,但同样,单独执行此命令会生成一个没有 html 小部件的 html 文件。
/usr/bin/pandoc +RTS -K512m -RTS file.utf8.md
--to html --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash
--output test._0021.html --smart --email-obfuscation none --self-contained --standalone
--section-divs --template /home/bergel/R/x86_64-pc-linux-gnu-library/3.3/rmarkdown/rmd/h/default.html
--variable 'theme:bootstrap' --include-in-header /tmp/RtmpqpGfD1/rmarkdown-str19b5232f45d7.html
--mathjax --variable 'mathjax-url:https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
--no-highlight --variable highlightjs=/home/bergel/R/x86_64-pc-linux-gnu-library/3.3/rmarkdown/rmd/h/highlight
--variable navigationjs=/home/bergel/R/x86_64-pc-linux-gnu-library/3.3/rmarkdown/rmd/h/navigation-1.1
我想要带有交互式 html 小部件的 html 文件,而不是小部件的 png。使用下面的代码我可以生成一个 file.md 然后可以呈现一个 html 文件但带有小部件的 png,而不是交互式 js 小部件。
rmarkdown::render( input = 'file.RMD' , output_file = 'file.md'
, output_format= md_document( ) )
我发现这个问题与这个问题有关:
Extract html dependencies for .Rmd file (containing htmlwidgets)
您可以告诉 rmarkdown 将 .md 文件保存在 YAML header(参见 the documentation):
---
title: "test"
author: "me"
date: '`r Sys.Date()`'
output:
html_document:
keep_md: true
---
此外,如果您知道要使用其他选项调用 rmarkdown::render
(就像使用 self_contained = TRUE
一样),您还可以在 header 中指定它们:
---
title: "test"
author: "me"
date: '`r Sys.Date()`'
output:
html_document:
keep_md: true
self_contained: true
---
可以这样做
x <- rmarkdown::render("file.RMD", run_pandoc = FALSE, clean = FALSE)
knit_meta <- attr(x, "knit_meta")
rmarkdown::render( input = 'file.knit.md' , knit_meta = knit_meta )
我正在用这个 rmd
创建一个 html 文件---
title: "test"
author: "me"
date: '`r Sys.Date()`'
output: html_document
---
```{r}
data(HairEyeColor)
rpivotTable::rpivotTable(data = HairEyeColor
, rows = "Hair"
,cols="Eye"
, vals = "Freq"
, aggregatorName = "Sum"
, rendererName = "Table"
, width="100%"
, height="400px")
```
和
rmarkdown::render( input = 'file.RMD' , output_file = 'file.html'
, output_format= html_document( self_contained=TRUE), clean = FALSE
, quiet = FALSE )
输出没问题,但我需要降价文件 (file.md) 稍后重新创建 html 文件(无法访问数据)
rmarkdown生成两个md文件[file.knit.md]和[file.utf8.md] 但是当我渲染这两个中的任何一个时,file.html 中缺少 html 小部件。
rmarkdown::render( input = 'file.utf8.md' , output_file = 'file.html'
, output_format= html_document( self_contained=TRUE) )
rmarkdown 对 pandoc 的调用有一个 [--include-in-header] 参数指向一个具有小部件依赖项的临时文件,但我没有找到在渲染 md 文件时包含它的方法(即 - include-in-header /tmp/Rtmp1M0RpP/rmarkdown-str1a169e14827.html" )
下面我粘贴了来自 rmarkdown 的 pandoc 调用,但同样,单独执行此命令会生成一个没有 html 小部件的 html 文件。
/usr/bin/pandoc +RTS -K512m -RTS file.utf8.md
--to html --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash
--output test._0021.html --smart --email-obfuscation none --self-contained --standalone
--section-divs --template /home/bergel/R/x86_64-pc-linux-gnu-library/3.3/rmarkdown/rmd/h/default.html
--variable 'theme:bootstrap' --include-in-header /tmp/RtmpqpGfD1/rmarkdown-str19b5232f45d7.html
--mathjax --variable 'mathjax-url:https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'
--no-highlight --variable highlightjs=/home/bergel/R/x86_64-pc-linux-gnu-library/3.3/rmarkdown/rmd/h/highlight
--variable navigationjs=/home/bergel/R/x86_64-pc-linux-gnu-library/3.3/rmarkdown/rmd/h/navigation-1.1
我想要带有交互式 html 小部件的 html 文件,而不是小部件的 png。使用下面的代码我可以生成一个 file.md 然后可以呈现一个 html 文件但带有小部件的 png,而不是交互式 js 小部件。
rmarkdown::render( input = 'file.RMD' , output_file = 'file.md'
, output_format= md_document( ) )
我发现这个问题与这个问题有关: Extract html dependencies for .Rmd file (containing htmlwidgets)
您可以告诉 rmarkdown 将 .md 文件保存在 YAML header(参见 the documentation):
---
title: "test"
author: "me"
date: '`r Sys.Date()`'
output:
html_document:
keep_md: true
---
此外,如果您知道要使用其他选项调用 rmarkdown::render
(就像使用 self_contained = TRUE
一样),您还可以在 header 中指定它们:
---
title: "test"
author: "me"
date: '`r Sys.Date()`'
output:
html_document:
keep_md: true
self_contained: true
---
可以这样做
x <- rmarkdown::render("file.RMD", run_pandoc = FALSE, clean = FALSE)
knit_meta <- attr(x, "knit_meta")
rmarkdown::render( input = 'file.knit.md' , knit_meta = knit_meta )