能否为blogdown「new post」插件定制含常用代码的Rmd模板?
解决blogdown自定义Rmd模板适配「New Post」插件的方案
我之前也遇到过同样的困扰——每次写新博文都要复制粘贴一堆通用R代码,太浪费时间了!后来摸索出几个靠谱的方法,帮你把通用代码和操作提示直接整合到模板里,让RStudio的「New Post」插件直接调用:
1. 创建自定义Rmd模板文件
首先在你的博客项目根目录下,新建一个名为archetypes的文件夹(如果还没有的话)。然后在这个文件夹里创建一个Rmd模板,比如命名为post_template.Rmd,内容可以参考下面的示例:
--- title: "{{ replace .Name "-" " " | title }}" date: {{ .Date }} author: "你的名字" categories: [] tags: [] draft: true --- --- output: html_document --- ### ✍️ 操作提示 - 记得修改上方YAML区域的**作者、分类、标签**信息 - 下方是你常用的通用R代码块,可按需调整或删除 ```{r setup, include=FALSE} # 加载日常常用的R包 library(tidyverse) library(blogdown) library(ggplot2) library(knitr) # 设置全局代码块选项(按需修改) opts_chunk$set( echo = TRUE, warning = FALSE, message = FALSE, fig.width = 8, fig.height = 5, fig.align = "center" )
开始撰写你的博文内容
模板里的`{{ replace .Name "-" " " | title }}`和`{{ .Date }}`是blogdown的占位符,会在创建新博文时自动替换成你输入的标题和当前日期,不用手动修改。 ## 2. 让「New Post」插件调用自定义模板 有两种方式可以让RStudio的插件使用这个模板: ### 方式一:每次创建时手动选择 打开RStudio顶部菜单栏的「Addins」→「New Post」,在弹出的对话框里: - 输入博文标题 - 在「Template」下拉菜单里,找到你刚才创建的`post_template.Rmd`(前提是`archetypes`文件夹位置正确) - 填写其他信息后点击「Create Post」即可 ### 方式二:设置默认模板(一劳永逸) 如果想每次创建新博文都自动用这个模板,在项目根目录的`.Rprofile`文件里添加以下代码(如果没有`.Rprofile`就新建一个): ```r # 设置blogdown默认新博文模板 options(blogdown.new_post_template = here::here("archetypes", "post_template.Rmd"))
保存后重启RStudio,之后不管是用「New Post」插件还是直接调用blogdown::new_post()函数,都会自动加载你的自定义模板。
3. 注意事项
archetypes文件夹必须放在博客项目的根目录,否则blogdown找不到模板- 模板文件的后缀必须是
.Rmd,不能用.md - 模板里的YAML占位符要保留,否则blogdown无法自动填充标题、日期等信息
这样你就不用再每次复制粘贴通用代码了,新建博文的时候直接就能用上预设好的内容,效率提升不少!
内容的提问来源于stack exchange,提问作者Leonardo Collado Torres
相关产品推荐
相关产品推荐

