在编写 R 降价文件期间以编程方式将标签添加到 yaml header

Programmatically add tags to yaml header during knitting R markdown file

我想在单击“编织”按钮时以编程方式将标签添加到 blogdown post 的 YAML header。

例如这样的事情:

---
title: This is a post
author: brshallo
date: '2022-02-11'
tags: "`r stringr::str_c('\n  - ', stringr::str_flatten(c('rstats', 'datascience'), '\n  - '))`"
slug: this-is-a-post
---

相关资源

我用 !r!expr 尝试了多种解决方案, 和迭代这些但到目前为止没有运气。

以下是一些相关话题:

起初我认为这是一个更普遍的 rmarkdown 问题,而不是特定于 blogdown 的问题,但考虑到上面线程中提到的一些解决方案在输入通用参数时似乎有效,我不确定...

要生成有效的 YAML 数组,您可以使用替代语法 [ ],例如,

tags: ["`r paste(head(letters), collapse = '", "')`"]

生成:

tags: ["a", "b", "c", "d", "e", "f"]

注意 hack collapse = '", "':由于 R 表达式外已经存在一对双引号,您应该只从 R 表达式生成部分 a", "b", "c", "d", "e", "f

-- 复制自一辉在blogdown#647

的解释