Obsidian 模板自动化实战指南:用 Templater 5 步告别复制粘贴

📅 2026/8/19 18:44:31
Obsidian 模板自动化实战指南:用 Templater 5 步告别复制粘贴
Obsidian 模板自动化实战指南用 Templater 5 步告别复制粘贴【免费下载链接】TemplaterA template plugin for obsidian项目地址: https://gitcode.com/gh_mirrors/te/TemplaterTemplater 是一款 Obsidian 模板插件它的核心功能是把任何一段会变的内容——日期、文件名、用户输入、甚至整段条件文本——自动写进你的笔记里。这篇文章会带你从一个只会写死内容的初学者一步步走到能用模板自动化整个笔记工作流的熟练玩家。深夜十一点你还在手动填模板吗晚上十一点小李刚开完一场持续两小时的周会。他新建了一篇会议记录准备开始写。标题敲完日期敲完然后他停住了——参会人员是谁来着上次会议结论在哪明天该跟进的项是哪几个于是他一边翻聊天记录一边把名字复制粘贴进去再对照日历手动补上日期最后还要记得在底部手动敲一行下次会议时间。十分钟过去笔记只写了一半他叹了口气我只是想记个会议为什么感觉像在填高考答题卡这正是 Templater 想帮你解决的麻烦。Obsidian 默认的笔记创建是一张白纸而 Templater 把白纸变成了一张会自动填好半张的纸凡是规律性的、重复性的内容都交给它代劳。你只需要专注写真正有价值的部分。3 分钟跑通第一个模板先别急着学语法我们用一个最小步骤让你立刻看到效果建立起信心。步骤 1安装插件打开 Obsidian进入设置 → 第三方插件 → 社区插件搜索Templater点击安装并启用。步骤 2指定模板文件夹在 Templater 设置里找到Template folder location填写你存放模板的目录比如模板。这个文件夹里的.md文件都会成为可用的模板。步骤 3创建你的第一个模板在模板文件夹里新建一个文件命名为日期.md内容只有一行今天是 % tp.date.now(YYYY年MM月DD日 dddd) %步骤 4插入模板看效果打开任意一篇笔记使用命令面板执行Templater插入模板选中日期。预期结果你的笔记里立刻出现一行今天是 2026年08月18日 星期二。如果顺利看到了这行字恭喜你Templater 已经跑通了。整个过程不会超过三分钟。一台会自动出结果的贩卖机Templater 的运行机制要理解 Templater 到底做了什么可以把它想象成一台自动贩卖机模板文件就是贩卖机的机身静静立在墙边等你操作%和%是一对投币口和取货口凡是夹在这两个符号中间的内容都是你的购买指令tp是贩卖机的商品目录tp.date、tp.file、tp.system就是不同的货架每个货架上摆着对应商品函数你按下某个按钮机器识别指令、处理数据、把结果从取货口吐出来——也就是替换掉模板里的那行指令变成真正的文字。不过这台贩卖机有两套按钮吐货方式完全不同指令类型写法行为适合场景插值命令% ... %直接把计算结果输出到笔记里插入日期、文件名、用户输入执行命令%* ... %只加工默认不吐货需手动把结果塞进tR变量条件判断、循环、复杂计算关键的一点是执行命令并不输出任何东西。它更像机器内部的加工车间加工完的成品放在一条传送带tR上只有当你写tR 内容成品才会从取货口出来。同时记住tp的目录规则一切功能都从tp开始用点号层层向下比如tp.date.now()、tp.file.title。想找什么功能就顺着这个货架编号去找。从入门到专家三级跳学懂 Templater 全部能力第一级入门玩家——套公式填信息解决什么问题你希望笔记自动带上日期、文件名、或者问用户几个问题不用自己敲。这一级只需要背下几个高频公式替换掉内容里的变量部分就能用% tp.date.now(YYYY-MM-DD) % // 今天的日期 % tp.date.now(YYYY-MM-DD, 7) % // 7 天后的日期参数 offset % tp.file.title % // 当前笔记的标题 % await tp.system.prompt(请输入你的目标) % // 弹窗询问用户 % tp.system.suggester([周一, 周二], [monday, tuesday]) % // 下拉选择这段代码做了什么tp.date.now负责日期货架tp.system.prompt和tp.system.suggester负责问答货架——前者弹出一个输入框后者给出一个选项列表把用户的选择写进笔记。收益是所有需要人肉记住的信息都变成了一问一答的交互你只管回答不用想着格式。第二级进阶玩家——让模板学会思考解决什么问题模板只会填空还不够你希望它看情况输出不同的内容比如早上打招呼和晚上打招呼不一样。这一级的关键是执行命令%*。它让你在模板里写真正的 JavaScript结合tR控制输出、用if做判断、用await等待用户回答%* // 问用户今天的心情等待回答后再继续 const mood await tp.system.suggester([很好, 一般, 很糟], [good, ok, bad]); // 把回答写进 tR才算出货 tR 今日心情${mood}\n; // 根据心情做条件输出 if (mood good) { tR 太棒了记得把好心情分享给别人; } else { tR 辛苦了今天也要早点休息。; } %这段代码做了什么先弹出心情选择框把用户选择存进变量mood再通过tR 分两次把结果写进笔记最后用if分支给出不同的结尾。收益模板从填表机升级成小助手会读你的状态、给不同的回应。注意tp.system.prompt和tp.system.suggester都是异步函数前面忘了写await变量就会变成undefined这是新手最容易踩的坑。第三级专家玩家——把模板变成自己的工具箱解决什么问题有些逻辑你会反复用到比如根据文件名生成标签拉取今天的天气。每次都重写一遍太傻你需要把常用逻辑存成自己的函数。Templater 支持两类用户函数脚本函数和系统命令函数统一通过tp.user.函数名()调用。先看脚本函数——在 vault 里的用户脚本文件夹新建一个daily-summary.js// 定义一个自定义函数给出一句话总结 module.exports (tp, summary) { return 今日总结${summary}; };然后在模板里这样用% tp.user.dailySummary(把模板文档通读了一遍) %输出今日总结把模板文档通读了一遍。之后你想改总结的格式只需要改那一个文件所有用到它的模板同步更新。再看系统命令用户函数你可以在 Templater 设置里添加一个用户函数绑定一条系统命令比如绑定date %A并命名为weekday模板里写% tp.user.weekday() %就能直接拿到英文星期几。下图就是这类用户函数在设置界面中的管理样子收益你拥有了自己的私房工具箱社区里别人分享的脚本也能直接拖进你的文件夹复用。这一级的终极形态是配合文件夹模板和文件正则模板让 Obsidian 在你新建笔记时自动套用对应模板——从手动插模板进化到自动上模板。实战演练从 0 到 1 打造晚间复盘模板把前面所有知识串起来我们一起做一个晚间复盘模板新建笔记时自动填好日期、星期询问今天的心情最后帮你自动算出评分并预留明日重点。第 1 步在模板文件夹新建复盘模板.md写入以下内容--- 日期: % tp.date.now(YYYY-MM-DD) % 星期: % tp.date.now(dddd) % 心情: % await tp.system.suggester([ 开心, 平静, 一般, 低落], [开心, 平静, 一般, 低落]) % --- # 晚间复盘 · % tp.date.now(MM月DD日) % ## ✅ 今天完成了什么 - [ ] ## 最有感触的一件事 % await tp.system.prompt(写下今天最触动你的一件事) % %* // 让用户给今天打分输出星标 const stars await tp.system.suggester( [1 星, 2 星, 3 星, 4 星, 5 星], [★, ★★, ★★★, ★★★★, ★★★★★] ); tR \n## ⭐ 今日评分${stars}\n; // 询问明日重点写进 tR tR \n## 明天最重要的一件事\n ${await tp.system.prompt(明天最想推进什么)}; %第 2 步新建一篇笔记通过命令面板执行Templater插入模板选择复盘模板。第 3 步按提示依次选择心情、输入感触、选择评分、输入明日重点一篇结构完整的复盘笔记就自动成型了。这段代码的关键解读头部 frontmatter 里的插值命令负责自动填空把日期、星期、心情写进元数据正文用await保证问完一个再问下一个顺序不乱最后的执行命令把两个需要加工的片段评分星标、明日重点通过tR 拼接到笔记末尾。整篇模板没有一处硬编码每天用都是新鲜的——这就是从 0 到 1 的自动化收益一次搭建长期复用。常见问题排查与性能优化模板用多了难免遇到失灵时刻。以下是最高频的五类症状和对应解法症状原因解法插入模板后一片空白用了%*却想直接输出内容改用% %或在执行命令里用tR 手动输出弹窗里填了内容笔记里却出现undefined异步函数漏了await改成await tp.system.prompt(...)模板输出一堆多余空行执行命令本身占了一行留下换行符在结束标签处加-%吃掉换行如%* ... -%新建文件没有自动套用模板没有开启触发新建文件开关在设置里开启Trigger Templater on new file creation并配置文件夹/正则规则系统命令用户函数毫无反应功能开关未开启或命令超时开启启用系统命令用户函数并适当调大Timeout性能与维护上的几条建议动态命令%慎用它在每次预览时重新执行用多了会让预览卡顿只给真正需要实时更新的内容用。把重逻辑搬进用户脚本模板里少写大段计算放进.js文件里既好维护又不拖慢渲染。大模板拆小组合一个几十行的模板难维护拆成几个小模板用tp.file.include拼装各司其职。收尾你的下一步回头看你已经从手动填表的深夜打工人变成了懂得让贩卖机代劳的熟练用户会用插值命令填信息会用执行命令做判断还会写自己的用户函数。剩下的就是把这套技能沉淀成你自己的模板库。想继续深入建议按下面的路径走语法基础与函数调用规则docs/src/syntax.md两类命令与空白控制的完整说明docs/src/commands/overview.md内置模块逐个拆解日期、文件、系统、frontmatter 等docs/src/internal-functions/internal-modules/脚本函数与系统命令用户函数的进阶玩法docs/src/user-functions/overview.md安装与设置细节含自动触发模板docs/src/installation.md、docs/src/settings.md今天先挑一个最常写的场景——日记、会议记录或读书清单做一个自己的模板。当第一篇笔记在 5 秒内自动成型时你会发现自己再也回不去手动填表的日子了。【免费下载链接】TemplaterA template plugin for obsidian项目地址: https://gitcode.com/gh_mirrors/te/Templater创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考