Obsidian自动添加文章属性
在 Obsidian 中让文章(笔记)自动带上想要的属性(YAML front‑matter),从 新建笔记时自动填充 到 已有笔记批量补全,全部基于 Obsidian 官方功能 + 常用社区插件。
1️⃣ 先弄清楚属性的存放位置——YAML Front‑matter
在笔记最顶部(代码块 ---包裹之间)写的键值对就是属性,例如:
| |
Tip:Obsidian 读取的属性必须严格放在文件最前面,且使用
---(或...)分隔。
2️⃣ 核心方案概览
| 方案 | 适用场景 | 是否需要插件 | 关键实现方式 | 备注 |
|---|---|---|---|---|
| Obsidian Core Templates(内置模板) | 新建笔记一次性填充固定属性 | ❌ | 在 Settings → Templates中设定模板文件,使用 Ctrl+Alt+T插入 | 只能手动触发,属性固定 |
| Templater(社区插件) | 新建笔记自动填充动态属性(日期、文件名、选中的文字等) | ✅ | 用 tp.file.title、tp.date.now等脚本写入 YAML | 支持 文件创建时自动运行(Templater → Trigger on new file) |
| Metadata Menu(社区插件) | 右键/快捷键快速添加/编辑属性,支持批量操作 | ✅ | 通过 UI 选择属性,或在 Settings → Metadata Menu → Auto‑Add配置自动添加 | 适合需要在已有笔记上随时补全属性 |
| QuickAdd(社区插件) | 自定义命令/宏,一键创建带属性的笔记 | ✅ | 创建 “Capture” 模板并绑定快捷键 | 可结合 Templater 脚本,实现更复杂逻辑 |
| Dataview JS + Obsidian Automation | 根据文件夹、标签等规则批量写入/更新属性 | ✅ | 用 DataviewJS 脚本遍历笔记并写回 YAML | 适合一次性处理大量旧笔记 |
| Search & Replace(核心) | 对已有笔记一次性批量添加同一属性 | ❌ | Ctrl+Shift+F全局搜索空 front‑matter,替换为完整 YAML | 只能写入相同内容,无法使用动态变量 |
| ExMemo Tools(社区插件) | 通过大模型智能生成元数据、自动续写、目录管理 | ✅ | 配置大模型 API,通过命令面板调用智能编辑功能 | 适合需要 AI 辅助的场景 |
下面分别演示每种方案的 完整配置步骤,你可以根据自己的需求挑选或组合使用。
3️⃣ 方案细节
3.1 Core Templates(最简版)
打开设置 → Templates
Template folder location设为Templates(或你喜欢的文件夹)。New file location设为默认笔记所在文件夹(如文章)。
新建模板文件(如
article-template.md)并写入:1 2 3 4 5 6--- title: {{title}} date: {{date:YYYY-MM-DD}} tags: [#文章, #{{date:YYYY}}] author: {{author}} ---{{title}}、{{date}}为 Obsidian 内置占位符(仅在 Core Templates 中可用)。
使用
新建笔记 → 按
Ctrl+Alt+T选取article-template→ 完成。缺点:需要手动点快捷键,属性只能是固定占位符,不能根据文件路径或自定义逻辑变化。
3.2 Templater(强大且自动)
推荐:如果你希望 创建笔记时无需任何手动操作,Templater 是首选。
3.2.1 安装 & 基础设置
Community plugins → Browse,搜索 Templater,Install → Enable。
在
Settings → Templater:Template folder location→Templates(或自定义)。勾选 Trigger Templater on new file creation(新文件自动执行)。
设定
Trigger folder为你希望自动添加属性的文件夹(如文章)。
3.2.2 编写自动模板(article-auto.md)
| |
<% … %>是 js 模板,可以调用所有tp.*方法。tp.file.title自动取文件名(不含后缀),tp.date.now()支持自定义格式。
3.2.3 自动生效
当你在 **
文章** 文件夹里新建任意笔记(Ctrl+N),Templater 会自动在文件顶部写入上述 YAML。若想对 多个文件夹 使用不同属性,只需在对应文件夹再建一个 Trigger folder,或在模板里判断
tp.file.folder()。
3.3 Metadata Menu(随时补全 & 批量)
安装:Community plugins →
Metadata Menu→ Install → Enable。全局自动添加(可选)
Settings → Metadata Menu → Auto‑Add→ 勾选Add default properties on file creation。在
Default properties区域点 Add property,填入键和值(支持 模板变量 如{{date}})。
手动快速添加
在笔记右侧面板或右键菜单里出现 Metadata Menu,点 Add property,选你预设的属性。
支持 多选,一次性给同一笔记加多个键值。
优势:属性配置是 UI‑driven,非代码;适合不想写模板但仍想自动化的用户。
3.4 QuickAdd(自定义捕获 + 自动属性)
安装
QuickAdd。创建 Capture:
Settings → QuickAdd → Capture→ Add new capture,命名如NewArticle。选择 Template → 指向
Templates/article-auto.md(同上 Templater 模板),或直接写 inline YAML。勾选 Insert at cursor 或 Create new file(推荐后者)。
绑定快捷键:
Settings → Hotkeys → QuickAdd: NewArticle→ 设为Ctrl+Alt+A。使用:随时按快捷键,即可在指定文件夹创建带属性的笔记。
3.5 Dataview JS + Automation(批量处理旧笔记)
如果你已经有大量已有笔记,需要一次性补全属性,可用 DataviewJS 脚本配合 Obsidian Automation(或手动运行脚本):
| |
将上述代码粘到任意笔记的 DataviewJS 代码块(
dataviewjs),运行即可。需要 Dataview 插件和 Obsidian Automation(或手动在开发者控制台运行)提供的
processFrontMatter权限。
3.6 Search & Replace(一次性全局添加相同属性)
适用于所有笔记都要加同一属性且不需要动态值:
打开全局搜索
Ctrl+Shift+F,搜索^---\n---$(匹配空 front‑matter)或直接搜索^---$(文件开头的分隔线)。勾选 Use regular expression。
替换为(示例):
1 2 3 4--- date: 2026-01-03 tags: [#文章] ---Replace all。
注意:此方法会把所有匹配的地方统一替换,没有变量,只能写固定值。
3.7 ExMemo Tools(智能元数据生成)
ExMemo Tools 是一款通过 LLM(大模型)自动生成文件元数据的插件,特别适合在阅读文献、整理资料时,让大模型帮助完成事务性工作。
3.7.1 安装与配置
在社区插件市场中搜索 “ExMemo Tools” 并安装启用
在插件设置中配置大模型信息(URL、API Key、模型名称)
支持 OpenAI、DeepSeek、KIMI 等主流大模型
3.7.2 核心功能
智能编辑:
选中文字 →
Ctrl+P→ 搜索 “ExMemo Tools: LLM 助手”输入提示词或选择已有提示词,生成内容插入到选中文字之后
续写功能:
光标定位 →
Ctrl+P→ “ExMemo Tools: 续写下一句”系统根据上下文自动续写文本
生成元数据:
Ctrl+P→ “ExMemo Tools: 生成元数据”自动为当前文件生成标签、摘要等元数据
目录管理:
Ctrl+P→ “ExMemo Tools: 为当前文件选择目录”模型智能推荐合适的目录
批量索引:
Ctrl+P→ “ExMemo Tools: 生成目录索引”为整个目录生成索引并批量生成元数据
3.7.3 优势特点
智能推荐:高频和近期使用的提示词优先显示
事务性工作自动化:让大模型帮助完成标签生成、目录选择等事务性工作
批量处理:支持为整个目录生成索引和元数据
节省调用成本:相比手动操作,能相对节省大模型调用成本
3.7.4 适用场景
阅读文献时快速标注阅读日期、评分和摘要
为大量笔记批量生成标签和元数据
智能推荐文件存放目录,提升组织效率
4️⃣ 常见需求的「一键解决方案」示例
| 需求 | 推荐组合 | 示例代码/设置 |
|---|---|---|
| 新建文章自动写入标题、创建日期、作者、年份标签 | Templater(自动触发) + Core Templates(备份) | article-auto.md如上,Settings → Templater → Trigger folder = 文章 |
所有笔记统一加上 author: 小明,但保持原有属性不变 | Metadata Menu → Auto‑Add 或 DataviewJS 批量脚本 | Settings → Metadata Menu → Add property: author = 小明 |
**一次性给旧笔记补全 date(若缺失)** | DataviewJS 脚本 | 上文 3.5 中的脚本 |
| 在移动端也能快速创建带属性的笔记 | QuickAdd(可在手机端通过快捷键或 UI 按钮触发) | QuickAdd → Capture → NewArticle |
| 不同文件夹需要不同默认标签 | 多个 Templater 触发文件夹 + 条件判断 | <% if (tp.file.folder() == "博客") { %>tags: [#博客]<% } else { %>tags: [#随笔]<% } %> |
| 在阅读文献时,快速标注阅读日期、评分和摘要 | ExMemo Tools(快捷键追加) | 在插件设置中配置包含 read-date、rating、summary的模板,绑定快捷键如 Ctrl+Shift+P。 |
5️⃣ 小技巧 & 常见坑
| 场景 | 可能的问题 | 解决办法 |
|---|---|---|
| 软链接共享插件导致属性同步(参考你之前的 “跨库复用插件”) | 多个库共享同一插件后,插件的 全局配置 会在所有库间同步,导致某库想单独关闭某插件时失效。 | 只在需要共享插件的库使用 软链接,其他库改用 方案 2(复用安装包),保持配置独立。 |
| Templater 脚本报错 | tp.file.title返回 null(文件尚未保存) | 确保 Templater → Trigger on new file 在文件创建后执行,或在模板中使用 tp.file.title.replace(".md","")进行容错。 |
| Metadata Menu 的 UI 不显示自定义属性 | 属性键名使用了非法字符(空格、冒号等) | 只使用字母、数字、下划线或短横线;若想使用中文键名,确保在插件设置里勾选 Allow non‑ASCII keys(新版已支持)。 |
| DataviewJS 写回 front‑matter 失败 | 没有开启 Dataview → Enable JS API 或缺少 processFrontMatter权限 | 在 Settings → Dataview → Enable JavaScript API打开;若仍报错,检查是否有 Obsidian Automation 插件提供的权限。 |
| 全局搜索替换误伤代码块 | 正则匹配到 ---代码块内部的分隔线 | 在搜索框前加上 \A---\n(仅匹配文件开头),或先限定搜索范围为 path:article/**。 |
| ExMemo Tools 添加的属性位置错误 | 插件将属性添加到了文件末尾或代码块中。 | 确保光标位于 Front‑matter 区域(---内)或文件顶部。该插件设计为"追加",需在 Front‑matter 内使用效果最佳。 |
| ExMemo Tools 模板语法不生效 | 输入的 <% tp.date.now() %>没有被解析。 | 确保在插件设置的模板中正确使用 Templater 语法,且已安装并启用 Templater 插件。 |
6️⃣ 快速上手脚本汇总(复制粘贴即可)
6.1 Templater 自动模板(article‑auto.md)
| |
6.2 Metadata Menu 默认属性(在插件设置里添加)
| key | value |
|---|---|
| author | 小明 |
| status | draft |
| source | [[来源模板]] |
6.3 DataviewJS 批量补全 date(放在任意笔记的代码块中运行)
| |
6.4 QuickAdd 捕获命令(在 QuickAdd → Capture 设置里)
Name: NewArticle
Template:
Templates/article-auto.md(或直接写入 YAML)Create new file: ✅
Folder:
文章File name:
{{date:YYYY-MM-DD}}-{{title}}
绑定快捷键后,Ctrl+Alt+A 即可在 文章文件夹生成带属性的笔记。
7️⃣ 小结
最简:Core Templates + 手动快捷键。
全自动(推荐):Templater + Trigger on new file → 只要创建笔记,属性自动写入。
属性统一管理:Metadata Menu → UI 添加/批量同步。
批量补全:DataviewJS + Automation 或 Search & Replace。
AI 辅助:ExMemo Tools → 大模型智能生成元数据和内容续写。
跨库复用:如果你已经使用软链接共享插件,请注意插件的全局配置会同步;若想保持每个库的属性独立,使用 “复用安装包” 或 “Metadata Menu” 的独立配置更安全。
把上面的 模板文件、插件设置、快捷键 按需求拷贝到你的 Obsidian 环境里,立刻就能实现 文章自动增加属性,省去手动编写 YAML 的繁琐。祝你写笔记更顺手、管理更高效 🚀!
[[Obsidian不同库复用第三方插件]]
[[Obsidian仅共享指定插件]]
[[Obsidian一键创建跨库插件软链接批处理脚本]]
[[Obsidian双链语法]]
寻找技术支持帮助和技术合伙人一起搞事。
相关内容
- obsidian-iflow让 AI 帮你打理知识管理与每日规划
- 自动同步github仓库 Fork 工作流
- JSON-LD结构化数据添加指南
- ArchiveBox网页归档工具使用指南
- Windows 11本地部署n8n工作流工具
- Hugo短代码使用指南