【问题标题】:Include YAML, not frontmatter, in output from knitr在 knitr 的输出中包含 YAML,而不是 frontmatter
【发布时间】:2020-10-29 21:16:00
【问题描述】:

我想使用 knitr 生成 Markdown 文档。在该 Markdown 文档中,我想包含一些由单独程序生成的 YAML。但是,将该文本作为纯 YAML 插入与 knitr 文档的标准 frontmatter 部分混为一谈。我不确定如何转义打算在 Markdown 输出中出现的 YAML。

也就是说,knitr 文档将遵循以下内容:

---
output: github_document
---
---
foo: bar
---

Lorem Ipsum

会生成对应的 Markdown 文件:

---
foo: bar
---

Lorem Ipsum

在 knitr 文档中,尝试了几种方法来转义 ---,包括:

\--- 输出为\-–(短划线)
\-\-\- 输出为\---
-\-- 输出为\---

【问题讨论】:

  • 你试过放入一个块并使用results='asis'
  • 这非常有帮助,是解决我特定问题的最佳解决方案。谢谢。
  • github_document 将使用来自 pandoc 的 gfm 降价变体。这意味着它将使用 Github Flavored Markdown 输出文档,并且 GFM 不支持在其内容中包含 YAML 块。因此,如果您使用github_document,您将无法生成预期的降价文件。如果您正在寻找另一个降价变体,可以使用 md_document() 格式。

标签: r r-markdown knitr


【解决方案1】:
---
title: "show asis yaml header"
author: "Daniel"
date: "6/28/2020"
output: html_document
---

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

````markdown
---
title: "show asis yaml header"
author: "Daniel"
date: "6/28/2020"
output: html_document
---
````

您希望有一个 markdown 块来显示您的 yaml 标头。它像这样呈现为 HTML

【讨论】:

    猜你喜欢
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    • 2013-07-01
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多