4.3 R コード内で文書メタデータにアクセスする

Rmd 文書をコンパイルする際には, YAML セクションの全てのメタデータはリストオブジェクト rmarkdown::metadata に格納されます. 例えば rmarkdown::metadata$title には文書のタイトルが与えられます. この metadata オブジェクトは R コード内で使うことができるので, YAML メタデータに与えられた情報をハードコードしなくてすみます. 例えば以下のように blastula パッケージ (Iannone and Cheng 2020) で Eメールを送る時, 文書のタイトルをメールの件名に, 著者フィールドを送信者情報に使うことができます.

---
title: 重要なレポート
author: John Doe
email: john@example.com
---

重要な分析ができましたので結果をメールで送りたいと思います.

```{r}
library(rmarkdown)
library(blastula)
smtp_send(
  ...,
  from = setNames(metadata$email, metadata$author),
  subject = metadata$title
)
```

参考文献

Iannone, Richard, and Joe Cheng. 2020. Blastula: Easily Send HTML Email Messages. https://github.com/rich-iannone/blastula.