ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Templater快速上手全攻略:从第一张自动笔记到模板自动化

Templater快速上手全攻略:从第一张自动笔记到模板自动化 Templater快速上手全攻略从第一张自动笔记到模板自动化【免费下载链接】TemplaterA template plugin for obsidian项目地址: https://gitcode.com/gh_mirrors/te/TemplaterTemplater 是 Obsidian 中最受欢迎的模板插件之一它的核心价值只有一个把手动重复变成自动生成。无论你是每天要新建日记、经常记录观影感受还是想给笔记加上自动更新的日期和属性Templater 都能用一个不起眼的命令块替你完成。这篇文章不假设任何编程基础跟着读下来你会在 10 分钟内做出自己的第一张会自己思考的笔记模板。先从真实痛点说起为什么你每天还在手动排版先问自己一个问题新建一张笔记你要重复做多少动作写日期、敲标题、复制固定的分节标题、再手动补上几个待办框……如果这些动作你已经重复了几十次甚至上百次那恭喜你你正是 Templater 的目标用户。它解决的不是怎么写得好而是别让我再写一遍。你可以把 Templater 想成一家深夜食堂的后厨而模板就是一张点餐单。你平时新建笔记相当于每顿饭都从洗菜切菜开始而有了 Templater你只需把菜名写进模板后厨插件本身就会按单出菜日期、标题、提问、判断全都自动化。你剩下的工作只是动笔写真正有价值的内容。一句话概括它的价值把格式交给机器把内容留给自己。5分钟做出第一个成品一张会自动填日期的笔记空谈不如动手。我们先做一张最简单的自动日记它的效果是每次用这个模板新建笔记日期和星期都会被自动写好你只需要补内容。这段模板在做什么它把tp.date模块提供的日期函数像贴便利贴一样贴进了文档的三个位置。--- 日期: % tp.date.now(YYYY-MM-DD) % 星期: % tp.date.now(dddd) % --- # % tp.date.now(YYYY年MM月DD日) % 的日记 ## 今天想做的三件事 - [ ] - [ ] - [ ] ## 值得记录的一件小事 % await tp.system.prompt(今天发生了什么值得记录的事) %使用说明把这段内容保存为一个.md文件放进 Obsidian 的模板文件夹在 Templater 设置里指定它为模板之后每次调用都会生成一份日期已填好的日记。你唯一要做的就是回答那个自动弹出的问题。小贴士YYYY-MM-DD这样的写法叫格式码YYYY是四位年份MM是月份DD是日期。想换成2026年8月18日这种中式风格把格式码改成YYYY年MM月DD日即可。看到这里你可能已经隐约摸到了规律一切魔法都藏在% ... %这对符号里。拆开命令看本质两种写法的区别对照表Templater 的全部能力都建立在一种结构上开始标签 命令内容 结束标签。每条命令就像一张写好的便利贴插件会按顺序把它们贴进最终的笔记里。理解这一点你就能预测模板的每一行会产生什么效果。其中最容易让新手困惑的是开头标签有两种%和%*。它们就差一个星号行为却天差地别对比项插值命令% ... %执行命令%* ... %主要用途把某个表达式的值写进笔记运行一段 JavaScript 逻辑输出行为自动输出结果默认什么都不输出想输出要靠tR变量适合场景插入日期、标题、属性值条件判断、循环、弹窗提问、文件操作典型误用塞入复杂逻辑结果输出一堆乱码以为能直接显示内容结果笔记里是空的记不住没关系记住这一条就够想要结果用%想要过程用%*。⚠️常见问题还有一种%写法叫动态命令它会让内容在每次预览笔记时重新计算下文进阶部分会讲。它和%*没有任何关系别混用。快速认识 tp 工具箱6个常用模块分别能帮你做什么所有命令的能力源头都来自一个名为tp的对象。你可以把它想象成一台万能遥控器而tp后面的模块名就是遥控器上的分区面板按哪个区就调出哪类功能。调用格式永远只有一句话tp.模块.函数(参数)。下面这张表帮你把常用模块一次认全模块负责什么一个真实场景典型写法tp.date日期与时间自动写入今天日期或算出 7 天后的日期tp.date.now(YYYY-MM-DD, 7)tp.file当前笔记取标题、取路径、把另一个模板拼进来tp.file.title、tp.file.include(...)tp.system与用户交互弹窗提问、下拉选择、读取剪贴板tp.system.prompt(你的名字)tp.frontmatter笔记属性区读取笔记开头---里的字段tp.frontmatter.评分tp.web联网请求抓取天气、拉取接口数据tp.web.request(url)tp.obsidianObsidian 原生能力调用插件自身的 API属于高阶玩法先收藏以后再看3步找到你要的函数先问自己我要的是日期、文件信息还是让用户输入对着上表锁定模块date / file / system / frontmatter …。按tp.模块.函数(...)组装参数不确定时去官方文档查该函数的说明。每个模块的完整函数清单和参数说明都对应一篇官方文档日期模块看 date-module.md文件操作看 file-module.md弹窗与选择器看 system-module.md。四个拿来即用的实战模板复制粘贴就能跑这一节直接上成品菜。每个模板都按场景 → 完整代码 → 使用说明三段呈现题材覆盖日记、观影、健身和旅行你完全可以直接套用或改改字段名。模板一晨间日记自动问候还带心情分类场景每天早上的日记想快速记录状态又希望笔记能根据心情给出不同的话而不是千篇一律的空白模板。--- 日期: % tp.date.now(YYYY-MM-DD) % 星期: % tp.date.now(dddd) % 心情: % tp.system.suggester([ 开心, 平静, 低落, 烦躁], [开心, 平静, 低落, 烦躁]) % --- # % tp.date.now(YYYY年MM月DD日) % 晨间日记 ## 今日三件要事 - [ ] - [ ] - [ ] ## 晚间复盘晚上再回来补 - 今天最满意的瞬间 - 明天想改进的一件事 %* // 读取刚才选好的“心情”在笔记末尾补一句对应的开场白 const mood tp.frontmatter.心情; const opening { 开心: 今天也要元气满满冲鸭 ☀️, 平静: 保持平常心一件一件把事情做好。, 低落: 允许自己慢下来先照顾好心情。, 烦躁: 深呼吸三次事情没有想象中那么糟。 }; tR \n ${opening[mood] ?? 祝你有充实的一天。}\n; %效果预期新建笔记时会先弹出一个心情选择器选完后整篇日记自动成形末尾还会根据你的选择出现一句对应的话。tp.system.suggester的第一个参数是显示给用户看的选项第二个参数是实际写入的值。模板二观影手账按评分自动给出观后感场景看完电影想记一笔但又懒得多写字。这个模板把记录压缩到两次提问并让笔记自己判断该不该二刷。--- 电影: % await tp.system.prompt(片名) % 日期: % tp.date.now(YYYY-MM-DD) % 评分: % tp.system.suggester([1星,2星,3星,4星,5星], [1, 2, 3, 4, 5]) % 状态: 已看 --- # 《% tp.frontmatter.电影 %》 ## 一句话短评 % await tp.system.prompt(用一句话说出你的感受) % ## 印象最深的画面 - ## 值不值得二刷 %* // 把评分读出来按档位自动写结论 const score tp.frontmatter.评分; if (score 4) { tR 强烈推荐值得找时间二刷。; } else if (score 3) { tR 中规中矩无聊时打发时间不错。; } else { tR 这波是踩雷了下次选片谨慎一点。; } %效果预期标题区自动生成《片名》格式评分存进属性区末尾结论由模板根据评分自动算出。注意tp.frontmatter.电影这种写法就是在读取笔记开头---里的字段字段名要和你定义的一致。模板三健身训练日志自动判断训练量是否达标场景每周去健身房好几次想快速记录练了什么、练了多久并让模板根据时长给出反馈。--- 日期: % tp.date.now(YYYY-MM-DD) % 部位: % tp.system.suggester([胸部,背部,腿部,肩部,手臂,核心], [胸,背,腿,肩,臂,核心]) % 时长: % await tp.system.prompt(训练了多少分钟, 60) % --- # ️ % tp.date.now(MM月DD日) % 训练日志 ## 今日训练项目 - [ ] - [ ] ## 数据小结 - 训练部位% tp.frontmatter.部位 % - 训练时长% tp.frontmatter[时长] % 分钟 %* // 把时长从文本转成数字再判断是否达到60分钟 const minutes parseInt(tp.frontmatter[时长], 10); if (minutes 60) { tR \n✅ 超过60分钟今天的训练量很扎实; } else { tR \n 今天以热身为主明天可以再加一点强度。; } %效果预期打开模板先选训练部位、填时长之后整篇自动生成。tp.frontmatter[时长]用了带引号的写法这是字段名含中文时更稳妥的取值方式。模板四旅行手记把地点打卡变成结构化记录场景出去玩了一趟想按统一格式记下每个打卡点避免回头翻笔记时格式五花八门。--- 地点: % await tp.system.prompt(打卡地点) % 日期: % tp.date.now(YYYY-MM-DD) % 推荐指数: % tp.system.suggester([不值得去,一般,值得一去,强推], [1,2,3,4]) % --- # % tp.frontmatter.地点 % ## 为什么来这 % await tp.system.prompt(是什么吸引了你) % ## 花费与耗时 - 花费% await tp.system.prompt(大约花了多少钱) % - 耗时% await tp.system.prompt(玩了多久) % ## 给未来自己的提醒 -效果预期每个地点一张笔记字段全部标准化后续想统计哪些地方强推时直接在属性区筛选即可比翻正文快得多。扩展灵感把模板当成乐高积木——上面四个模板里的日期区块提问区块都可以拆出来单独存成小模板再用tp.file.include(小模板路径)拼进任意新模板实现真正的搭积木式复用。进阶问答4个高频问题的一次性解答以下都是真实用户最常撞上的问题每个都按错误写法 → 正确写法 → 原因给全建议直接对照排查。1. 为什么 prompt 问完变量却是 undefined// ❌ 错误tp.system.prompt 是异步函数不会等你输入完 const name tp.system.prompt(你叫什么名字); // ✅ 正确加 await让代码等用户点完“确定”再继续 const name await tp.system.prompt(你叫什么名字); tR 你好${name};原因prompt这类函数需要等待用户操作不加await程序会直接拿着未完成的结果继续往下跑自然拿到undefined。2. 在执行命令里写了内容为什么笔记里什么都没有// ❌ 错误%* 默认是“静默”的这行代码的结果不会进入笔记 tp.date.now(YYYY-MM-DD); // ✅ 正确把想输出的内容“累加”进 tR 变量 tR tp.date.now(YYYY-MM-DD);原因tR是模板的输出草稿纸执行命令里所有想写进笔记的内容都要手动tR 进去这和插值命令的自动输出机制完全不同。3. 用户点了取消按钮整个模板就报错中断了怎么办// ❌ 错误默认情况下用户取消prompt 会直接抛错打断模板 const name await tp.system.prompt(请输入名字); // ✅ 正确第三个参数设为 false取消时返回空值而不是报错 const name await tp.system.prompt(请输入名字, , false); if (name) { tR 你好${name}; } else { tR 未填写名字已跳过; }原因throw_on_cancel参数控制取消后是否抛错关掉它模板就能从容处理用户没输入的情况。4. 想让日期每次打开笔记都自动刷新怎么写!-- 内容每次预览都会重新计算 -- 最后编辑于% tp.date.now(YYYY-MM-DD HH:mm) %原因%是动态命令相当于一条自动分拣传送带——每次预览都把最新结果重新放上去。但注意它会拖慢预览速度只在真正需要实时的地方用别全篇滥用。新手避坑清单6个常见写法错误与修正对照最后把这些坑集中排一遍每一条都附一句话原因抄走就能少走弯路。❌ 把复杂逻辑塞进% ... %→ ✅ 逻辑一律放%* ... %原因插值命令会把表达式的值直接贴进笔记复杂逻辑只会变成一堆undefined。❌ 异步函数不写await→ ✅ 凡是prompt、suggester这类交互函数都加await原因没等用户操作完就拿不到返回值。❌ 在两个%* %块之间互相借用变量 → ✅ 把相关逻辑放进同一个块或封装成用户函数原因每个命令块是独立作用域块与块之间不共享变量。❌ 全模板到处用%动态命令 → ✅ 只给真正需要实时刷新的内容用原因动态命令每次预览都执行数量多了笔记会明显变卡。❌ 照抄别人模板里的笔记路径 → ✅ 用tp.file.folder、tp.file.path确认自己的位置原因每个人的库结构不同写死的路径对不上就直接失败。❌ 手滑删掉某个%或%→ ✅ 写完后数一遍标签是否成对原因标签不成对时整段内容会被当成普通文本原样输出还不报错最隐蔽。下一步挑战与官方文档导航到这里你已经掌握了 Templater 的三根支柱两种标签怎么选、tp 工具箱怎么用、tR 怎么控制输出。剩下的就是把手头最常建的那类笔记变成你的第一个作品。下一步挑战今天就选一种你最常写的笔记日记、周报、随手记都行用% tp.date.now(...) %和一次tp.system.prompt(...)做出它的第一版模板然后坚持用一周。一周后你会发现自己再也回不去手动排版的日子了。想继续深挖时这些官方文档可以按需查阅安装与启用 docs/src/installation.md设置面板逐项说明 docs/src/settings.md命令语法总览 docs/src/syntax.md动态命令专题 docs/src/commands/dynamic-command.md执行命令专题 docs/src/commands/execution-command.md文件模块拼接、移动、改名 file-module.md前端属性模块读写 YAML 字段 frontmatter-module.md用户函数把常用代码存成可复用函数 docs/src/user-functions/overview.md工具是死的套路是活的。从第一张会自动填日期的笔记开始你的 Obsidian 就会从记事本悄悄进化成会自动干活的笔记系统。【免费下载链接】TemplaterA template plugin for obsidian项目地址: https://gitcode.com/gh_mirrors/te/Templater创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表