资讯动态

Templater 插件入门指南:让 Obsidian 模板学会自动填表

发布时间:2026/8/19 18:40:53 来源:尧图企业网站定制
Templater 插件入门指南让 Obsidian 模板学会自动填表【免费下载链接】TemplaterA template plugin for obsidian项目地址: https://gitcode.com/gh_mirrors/te/Templater周一早上你打开 Obsidian 准备新建一篇复盘笔记先敲下标题再手动输入当天的日期然后回忆着补上这周完成了什么、下周计划做什么几个固定栏目。这样的动作你可能已经重复了十几遍每次都在做几乎一样的机械劳动。Templater正是为解决这类问题而生的 Obsidian 模板插件——它把写模板升级成设计一条自动填表的流水线让日期、标题、文件信息、甚至需要你现场决定的选项全部由插件替你完成。上图就是 Templater 的设置面板你可以在这里看到模板的触发方式与模板内容。不用慌本文会从零开始用 5 个高频问题带你走完安装→理解语法→动手实战的全过程。为什么普通模板满足不了我Obsidian 本身支持模板功能但它只能插入一段写死的文本今天日期不会自动更新标题不会自动带入更不可能在创建笔记时弹出问题问你今天心情如何。Templater 的核心优势是它的命令标签% ... %。你可以把模板想象成一张会看图说话的表格遇到% 内容 %这种带开关的格子插件就会执行里面的逻辑把结果替换进正文。所以同样一份模板不同日期、不同文件下使用产出完全不一样。第一条命令怎么落地在动手前先记住一个总开关所有命令都必须用%开头、%结尾。里面的内容通常是一个以tp.开头的调用就像下面这样% tp.date.now(YYYY-MM-DD) %这句话的意思是调用日期模块的now函数按YYYY-MM-DD的格式输出今天的日期运行结果会自动替换进模板正文比如生成2026-08-18。整个过程不需要你手输任何东西。在 Obsidian 的设置 → 核心插件中启用 Templater 后你可以先建一个测试笔记把上面那行命令粘进去再通过命令面板执行插入模板看看效果。这一步能帮你建立命令会被执行并替换的第一直觉后面所有内容都是在这个直觉上叠加。插入日期、标题和文件信息最快的方式是什么日常用得最多的三个小工具分别是日期、文件信息和 frontmatter笔记开头的属性区。日期tp.date.now支持格式化符号常见写法如下。想要的效果命令写法今天日期% tp.date.now(YYYY-MM-DD) %带星期几% tp.date.now(dddd, MMMM Do YYYY) %7 天后的日期% tp.date.now(YYYY-MM-DD, 7) %第二个参数是偏移量传7就是加 7 天传-1就是昨天很适合做明天要做的事上周回顾这类内容。文件信息tp.file.title返回当前文件名tp.file.path返回完整路径tp.file.folder返回所在文件夹。比如标题栏可以直接写# % tp.file.title %frontmatter模板开头经常有一段---包裹的属性区你可以让属性值也动态生成比如--- 创建时间: % tp.date.now(YYYY-MM-DD HH:mm) %⚠️常见坑tp.date.now的格式化符号是自定义语法不是标准的YYYY-MM-DD都支持的通用写法注意大小写写错会输出很奇怪的结果。先复制官方文档里的示例跑通再改自己的格式。想弹出问题让用户选择prompt 和 suggester 怎么用自动化并不意味着所有内容都由程序决定。有些信息只有你自己知道这时候就该让模板停下来问你。Templater 的系统模块提供了两个提问工具tp.system.prompt弹出一个输入框tp.system.suggester弹出一个候选列表让你选。% await tp.system.prompt(今天最想记录的一件事) % % tp.system.suggester([开心, 平静, 疲惫], [happy, calm, tired]) %上面第二行里第一个数组是显示给用户看的选项第二个数组是选中后真正写入笔记的值。这样你既可以让用户友好地选中文又能在 frontmatter 里存下英文标签一举两得。⚠️必须写 awaitprompt和suggester都是异步函数前面漏了await变量接到的会是undefined而且模板不会等待你输入就直接跑完。这是新手最容易踩的坑没有之一。小贴士这类带交互的代码建议放在%* ... %执行命令里配合下面的tR变量一起用可读性会好很多。复杂逻辑怎么写执行命令和 tR 变量是什么插值命令% %只适合输出一个表达式结果。当你想写 if 判断、循环、多步计算时要用执行命令%* %它执行一段 JavaScript 代码默认不输出任何东西。想在执行命令里输出内容靠的是内置变量tR——它是最终生成的文本的容器你用往里面追加内容就会出现在笔记里%* const hour tp.date.now(H); tR hour 12 ? 早上好 : hour 18 ? 下午好 : 晚上好; tR 今天是 tp.date.now(YYYY-MM-DD); %这段代码读取当前小时判断上午/下午再拼上日期一起输出。执行命令能访问 Obsidian 的全局对象app以及moment等库能力几乎等同于在浏览器控制台里写 JS。⚠️常见坑执行命令会吃掉周围的换行导致笔记顶部出现大片空行。解决方案是给命令标签末尾加一个短横线-%它会吞掉命令后紧跟的那一个换行符。这是官方专门提供的空白控制语法模板排版乱掉时优先检查这里。%* if (tp.file.title.startsWith(复盘)) { -% 这是一篇复盘笔记 %* } -%一个完整实战把知识点串成一套周复盘模板下面这个模板把前面的东西全用上了frontmatter 记录元信息、prompt 收集用户输入、suggester 做选项、执行命令做日期计算、tR控制输出。把它保存为模板文件每周新建时只需回答几个问题整篇笔记就自动成型。--- 周次: % tp.date.now(YYYY年第ww周) % 心情: % await tp.system.suggester([很充实, 一般般, 有点累], [great, ok, tired]) % --- # 第 % tp.date.now(ww) % 周复盘 ## 本周三件大事 1. % await tp.system.prompt(第一件大事) % 2. % await tp.system.prompt(第二件大事) % 3. % await tp.system.prompt(第三件大事) % ## 下周目标 - [ ] %* const start tp.date.now(YYYY-MM-DD, -6); tR 本周起始日${start}记得对照目标逐项打勾。; -%执行时Templater 会依次弹框收集三件大事心情选项提供中文标签最后自动补上一句带本周起始日期的提醒全程不需要你手动敲任何重复文字。立即上手的 3 步以及几个快问快答别急着看完所有文档按下面三步先跑起来装好并指向模板文件夹启用插件后在设置里把模板文件夹位置指向你放模板的目录。抄一条跑通新建模板文件粘贴% tp.date.now(YYYY-MM-DD) %用插入模板命令试一次确认输出正确。从真实需求出发找出你重复最多的 3 篇笔记用本文提到的最多 3 个函数date、file、prompt分别改造成模板就足够日常用了。快问快答问插值命令想输出结果为什么没反应答检查标签是不是写成了%*执行命令默认不输出要输出请改用% %。问模板执行后满屏空行怎么办答在命令标签尾部加-%消除命令产生的多余换行。问想复用一段复杂的 JS 逻辑答把它封装成用户函数在设置里注册后就能像tp.date.now一样被调用一份逻辑多处使用。问预览时希望内容自动刷新答可以用动态命令%但刷新依赖缓存且官方建议优先考虑 Dataview 插件动态命令要克制使用。Templater 的学习曲线并不陡先记住% %这个开关再认识tp.date、tp.file、tp.system三个最常用的模块你的笔记系统就已经比 90% 的 Obsidian 用户自动化了。剩下的就是在你最痛的那篇模板上动手改造第一条命令。【免费下载链接】TemplaterA template plugin for obsidian项目地址: https://gitcode.com/gh_mirrors/te/Templater创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价