R Markdown YAML头设置pandoc参数禁用邮件混淆报错求助
问题根因
报错源于Rmd文件YAML头部语法不规范,和pandoc参数本身有效性无关。原写法中output: html_document:将两个层级的配置项写在同一行,YAML解析器无法识别映射层级,因此抛出扫描错误。
修复方案
修正YAML头部的换行和缩进即可,有两种有效配置方式:
方式1:修正原有pandoc_args传参的格式
调整后的gary_test.Rmd完整内容如下,注意output配置项后必须换行,下一级的html_document缩进2空格:
--- output: html_document: pandoc_args: [ "-M", "email-obfuscation=none" ] --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE)
My Email is abc@xyz.org
## 方式2:顶级元数据声明(写法更简洁) rmarkdown渲染时会自动将YAML头部的顶级元数据传递给pandoc,无需嵌套在pandoc_args中,出错概率更低:
email-obfuscation: none
output: html_document
knitr::opts_chunk$set(echo = TRUE)
My Email is abc@xyz.org
# 效果验证 文件修正后,直接运行原有渲染命令即可正常执行:
Rscript --no-save --no-restore --verbose gary_render.R
最终生成的html文件中,邮箱地址会以明文展示,不会被pandoc默认的混淆规则处理。 内容的提问来源于stack exchange,提问作者Zaphod
相关产品推荐
相关产品推荐

