把html文件变回rmarkdown,将HTML文件包含在RMarkdown文档中以生成HTML文档

如果您想要包含独立 HTML文件,in_header包含非常糟糕的做法, before_body或after_body或cat(readLines(...))。

为什么这是一种不好的做法?

独立 HTML文件是带有标记的简单文本文件。最小HTML文件如下所示:

title

要有效,HTML文件必须符合许多约束。例如,只能有一个

元素。因此,如果您在另一个HTML文档中包含独立 HTML文档,则会获得一个包含两个HTML元素的文件。因此,它是无效的HTML文件

这样的文件可能在浏览器中被严重渲染(大多数浏览器尝试"理解"它甚至无效)或者可能使其崩溃。因此,您必须选择能够生成有效 HTML文件的解决方案。

我看到两个选项来呈现有效的 HTML文件。

使用knitr子文档

请参阅有关子文档here的文档。我认为这是解决您问题的最佳解决方案。

在HTML元素中包含外部文件

您可以在 element中嵌入任何外部HTML文件。这是一个可重复的例子。

假设您有以下名为embedded_file.Rmd的文件

---

title: "Embedded file"

output: html_document

---

This is the content of the embedded file.

这里是main.Rmd文件的内容:

---

title: "Include external html file"

output: html_document

---

```{r generate-external-report, include=FALSE}

rmarkdown::render('embedded_file.Rmd')

```

External `HTML` file can be included in an `` element:

```{r, echo=FALSE}

htmltools::tags$iframe(title = "My embedded document", src = "embedded_file.html")

```

当您呈现main.Rmd时,您的嵌入式文件会获得。您必须设置的宽度和高度才能看起来很漂亮。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值