从Markdown转换时,在pandoc中导出特定部分

时间:2015-08-11 10:02:15

标签: export knitr pandoc rcharts

我有一个使用Knitr生成的Markdown文档(有文化的编程)。此降价文档使用pandoc转换为Microsoft Word(docx)和HTML。现在我想在HTML中包含Markdown的特定部分,在docx中包含其他部分。具体的用例是我能够使用rCharts生成JS + HTML图表,这对于HTML很好,但显然不能在docx中呈现,所以我想使用一个简单的PNG那种情况下的形象。 我可以使用一些特定的pandoc语法或技巧吗?

1 个答案:

答案 0 :(得分:0)

所以解决这个问题的一种方法是从knitr后处理生成的降价。

我输出一些mustasche,然后使用R包whisker解析它。

代码大致如下:

md <- knit(rmd, envir=e)

docx.temp <- tempfile()
html.temp <- tempfile()

writeLines(whisker.render(readLines(md), list(html=T)), html.temp)
writeLines(whisker.render(readLines(md), list(html=F)), docx.temp)

docx <- pandoc(docx.temp, format="docx")
html <- pandoc(html.temp, format="html")

file.copy(docx, "./report.docx", overwrite=T)
file.copy(html, "./report.html", overwrite=T)

Rmd(knitr)包含大致类似

的内容
{{^html}}
```{r}
WITHOUT HTML
```
{{/html}}

{{#html}}
```{r}
WITH HTML
```
{{/html}}