bap*_*ste 6 yaml metadata r knitr r-markdown
考虑以下Rmd文件,
---
title: "Untitled"
author: "baptiste"
date: "`r Sys.Date()`"
output: html_document
test: "`r paste('_metadata.yaml')`"
---
```{r}
cat(rmarkdown::metadata$test)
```
Run Code Online (Sandbox Code Playgroud)
在传递给pandoc以转换为md和html之前,日期由R处理(编织).test但是,自定义字段未经评估.
有什么不同?可以强制knitr/rmarkdown来评估yaml标头中的任意字段吗?
注意:实际目的不仅仅是print()这个虚拟示例中的文件名,而是加载包含元数据的外部yaml文件(作者信息),使用R处理它,并输出将在文档中注入的字符串.
它确实评估代码。如果你运行 foo.Rmd
rmarkdown::render("foo.Rmd", clean = FALSE)
Run Code Online (Sandbox Code Playgroud)
你会看到一个名为 left Behind 的中间文件(pandoc 输入)foo.knit.md。它看起来像这样:
---
title: "Untitled"
author: "baptiste"
date: "2017-08-12"
output: html_document
test: "_metadata.yaml"
---
```r
cat(rmarkdown::metadata$test)
```
```
## `r paste('_metadata.yaml')`
```
Run Code Online (Sandbox Code Playgroud)
我不知道如何从文档中看到这一点(您的示例表明这metadata$test不起作用),但可能有一些技巧或其他方法可以实现它。
| 归档时间: |
|
| 查看次数: |
1171 次 |
| 最近记录: |