【问题标题】:RMarkDown: Include many HTML pages with includeHTML()RMarkDown:使用 includeHTML() 包含许多 HTML 页面
【发布时间】:2021-04-19 10:27:11
【问题描述】:

我想将外部 HTML 页面添加到我的 Rmarkdown 文件中。当我只添加一页时,它工作正常,但是当我添加多页时,html rmarkdown 输出中断:

---
title: "Test"
output:
  html_document:
    includes:
      in_header: "header.html"
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)

```

## Test {.tabset}


### firstpage 
```{r, echo=FALSE}
    htmltools::includeHTML("firstpage.html")
```

### seconpage 
```{r, echo=FALSE}
    htmltools::includeHTML("secondpage.html")
```

我知道我必须只包含我的 html 页面的正文部分,因为添加所有 html 部分会创建与 rmarkdown 文件的冲突,所以我在 rmd 文件顶部添加了“in_header:”header.html“”。

但是我要添加的 html 页面在其 head 部分中描述了所有 CSS 和 Javascript 部分,我应该如何在 rmd 文件中添加这些部分?

【问题讨论】:

    标签: html r-markdown


    【解决方案1】:

    我以前从未使用过 rmarkdown,但通过对 google 的快速检查,您的 HTML 文件不应包含 HTML 标签,而应仅是您要立即添加到输出文件中的部分。

    例如:

    • header.html:应该只包含 HTML 文件的 JS 和 CSS 库。
    • Firstpage.html:应该只包含正文 HTML

    这里是资源:rmarkdown cookbookGitHub issue

    基于此,如果解决方案不起作用,我认为您可以尝试将 JS/CSS 文件包含在正文本身中并包含该文件。

    像这样: secondpage.html

    <div>
        <link rel="stylesheet" href="style.css">
        <div id="container">he</div>
        some codes
    </div>
    

    通过这样做,您会发出头部,但您仍然可以使用这些文件。 我使用 div 而不是 body,因为一个 HTML 文件只能有一个 body。

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 1970-01-01
      • 2021-10-08
      • 2014-05-11
      • 2011-03-07
      • 2013-09-13
      • 2015-07-19
      • 2014-07-05
      相关资源
      最近更新 更多