Obsidian插件篇-Templater插件


Obsidian 插件篇 -Templater 插件

本篇文章针对 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')) %>

插件联动

Templater 参考文档


文章作者: huan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 huan !
  目录