Obsidian 插件篇 -Templater 插件

来源

  • 触发点:折腾学习 Templater 插件后,记录成文
  • 首次记录:2025-02-20
  • 作者:huan

洞见

针对 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 文件夹于此模板关联,新建笔记时即可自动引用模板。

  • 设置模板快捷键,新建笔记后,使用快捷键引用模板。

脚本运用 - 动态生成内容

  • 文件中生成双链(需配置为模板文件然后运行脚本才会生效)

    // 快速批量生成双链添加到文件中
    // 光标后批量生成双链添加
    <% tp.file.cursor_append(app.vault.getFiles()
    		.filter(f => f.path.startsWith("4.Apply/")) // 过滤指定文件夹下的文件
    		.filter(f => f.basename != "Timeline Template") // 排除模板文件(可选)
    		.sort((a,b) => a.basename.localeCompare(b.basename)) //按文件名排序
    		.map(f => `- [[${f.path}|${f.basename}]]`).join('\n')) %>

插件联动

演化日志

  • v0.1 (2025-02-20):初始版本
  • v0.2 (2025-10-27):补充来源、洞见、演化日志,完善笔记结构

附件参考

待办事项

  • 结合实际使用情况,补充示例。如:元数据模板、笔记模板等等