如果您想要包含独立 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时,您的嵌入式文件会获得。您必须设置的宽度和高度才能看起来很漂亮。