Obsidian插件篇-Templater插件
本篇文章主要对Templater插件进行介绍梳理。原文地址:Obsidian插件篇-Templater插件。
需求分析
- 痛点:
- 日常使用Obsidian时,我们经常需要创建格式相似的笔记,例如会议记录、读书笔记等。
- 手动输入非常繁琐,且容易出错。希望能够使用模板自动生成,仅专注内容的产出。
- 解决方案:
- Templater插件可以创建和使用模板,自动生成具有固定格式的笔记。
- 支持使用变量和脚本,实现更复杂的动态内容生成。
Obsidian自带模板 VS Templater插件
- Obsidian自带模板:
- Obsidian自带的模板主要用于插入静态内容,即预先定义好的文本片段。不支持动态内容生成,例如自动插入日期、时间、文件名等。
- Obsidian自带的模板功能相对简单,不支持复杂的逻辑判断和数据处理。
- Templater插件:
- 动态内容生成:
- Templater插件支持使用变量和函数,自动生成动态内容。
- 例如,可以使用
tp.date.now()
函数,自动插入当前日期和时间。
- 强大的脚本支持:
- Templater插件允许你使用JavaScript脚本,实现更复杂的逻辑和数据处理。
- 可以根据需要,自定义函数和变量,满足个性化需求。
- 灵活性和扩展性:
- Templater插件提供了丰富的模板语法和API,具有很高的灵活性和扩展性。
- 可以根据自己的需求,创建各种复杂的模板,提高工作效率。
- YAML元数据整合:
- Templater可以根据YAML元数据,动态的生成内容。
- 动态内容生成:
核心功能
- 指定文件夹下新建笔记时自动运行模板。
- 为模板设置快捷键,手动快速运行。
实际运用举例
-
创建示例模板,内容如下:
--- title: <% tp.file.title %> author: huan tags: - test created: <% tp.file.creation_date("YYYY-MM-DD HH:mm:ss") %> modified: <% tp.file.last_modified_date("YYYY-MM-DD HH:mm:ss") %> createdBy: huan --- # <% tp.file.title %>
-
使用
tp.file.creation_date("YYYY-MM-DD HH:mm:ss")
函数,自动插入笔记创建时间。 -
可以设置Test文件夹于此模板关联,新建笔记时即可自动引用模板。
-
设置模板快捷键,新建笔记后,使用快捷键引用模板。
脚本运用与插件联动
- 文件中生成双链
// 快速批量生成双链添加到文件中(Templater插件) // 光标后批量生成双链添加 <% tp.file.cursor_append(app.vault.getFiles() .filter(f => f.path.startsWith("2.Collection/2.Timeline/")) // 过滤指定文件夹下的文件 .filter(f => f.basename != "Timeline Template") // 排除模板文件(可选) .sort((a,b) => a.basename.localeCompare(b.basename)) //按文件名排序 .map(f => `- [[${f.path}|${f.basename}]]`).join('\n')) %>
- 联合Dataview插件可参考Obsidian插件篇-Dataview联合Templater脚本示例。
- QuickAdd插件与Templater插件联动,实现按下快捷键后新建笔记,选择路径,填充yaml属性以及插入模板等多项操作。