juechafun/00-临时碎片/20260115-备忘-觉察知识-Templater知识点.md
2026-01-15 10:01:16 +08:00

300 lines
9.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#临时/备忘
#状态/待处理
---
## 一句话描述
[__整理归纳______]
### 分解步骤
1. [________]
2. [________]
3. [________]
---
## 一句话描述
[________]
## 一句话描述
Obsidian 的 Templater 插件是帮你一键生成固定格式笔记的懒人神器,新手不用写复杂代码,靠简单指令就能搞定日记、读书笔记等日常笔记模板,快速上手出成果。
## ✨ 二、模板嵌套 专属语法区(你重点要的,置顶!)
> 优先级最高,新手最常用,所有嵌套需求都靠这部分,**这是核心中的核心**
### ✅ 核心嵌套语法(唯一,背下来)
`<% tp.file.include("[[子模板名称]]") %>`
▸ 效果:在当前模板中,原封不动插入「子模板」的全部内容
▸ 新手提示:模板名**一字不差**(含空格 / 标点),比如`[[习惯打卡模板]]``[[书籍信息模板]]`
### ✅ 多模板嵌套(想加几个加几个)
```plaintext
<% tp.file.include("[[子模板1]]") %>
<% tp.file.include("[[子模板2]]") %>
```
▸ 效果:在主模板里同时插入多个子模板,比如「日记 + 打卡 + 复盘」一起生成
### ✅ 嵌套 + 变量组合(最实用写法,直接复制)
plaintext
```plaintext
# <% tp.date.now("YYYY-MM-DD") %> 每日记录
<% tp.file.include("[[习惯打卡模板]]") %>
今日感悟:<% tp.cursor() %>
```
▸ 效果:自动日期 + 嵌套打卡 + 光标定位,一步到位生成完整笔记
---
## ✨ 三、高频日期 & 时间变量(使用率 99%,必记!)
日常写日记、读书笔记、计划最常用,格式可直接改,按需复制,不用记格式规则
### ✔️ 基础常用(优先记这 3 个)
`<% tp.date.now("YYYY-MM-DD") %>` → 自动生成【当天日期】 例2026-01-15
`<% tp.date.now("YYYY年MM月DD日") %>` → 中文日期格式 例2026 年 01 月 15 日
`<% tp.date.now("HH:mm") %>` → 自动生成【当前时间】 例20:30
### ✔️ 进阶日期(够用就行,不用多记)
`<% tp.date.now("YYYY-MM-DD HH:mm") %>` → 日期 + 时间 例2026-01-15 20:30
`<% tp.date.now("YYYY-MM-DD 周DD") %>` → 日期 + 星期 例2026-01-15 周四
`<% tp.date.yesterday("YYYY-MM-DD") %>` → 昨天的日期
`<% tp.date.tomorrow("YYYY-MM-DD") %>` → 明天的日期
`<% tp.date.now("WW") %>` → 本年第几周 例02
`<% tp.date.now("MM") %>` → 当月月份 例01
### ✔️ 新手小技巧
日期里的符号可自定义比如想写「26.01.15」,就写成 `<% tp.date.now("YY.MM.DD") %>`
---
## ✨ 四、光标 & 输入交互类语法(新手刚需,超好用)
让你的模板「更智能」,不用手动点光标、不用手动改标题,懒人必备,全部高频!
`<% tp.cursor() %>` → 生成模板后,光标**自动定位到这个位置**,直接打字不用点
`<% tp.system.prompt("请输入内容") %>` → 调用模板时,弹出输入框,输入的内容会自动填充
▶ 示例:`# <% tp.system.prompt("输入书名:") %> 读书笔记` → 弹窗填书名,自动生成标题
`<% tp.system.suggester(["选项1","选项2"],["选项1","选项2"]) %>` → 弹窗选择内容(比如选天气)
▶ 示例:`天气:<% tp.system.suggester(["晴","雨","阴","雪"],["晴","雨","阴","雪"]) %>`
---
## ✨ 五、文件 / 标题相关语法(读书笔记 / 项目笔记必备)
不用手动改标题、不用手动建链接,适合做系统化笔记,新手记 2 个高频的就够
`<% tp.file.title %>` → 自动获取「当前笔记的标题」,适合读书笔记 / 项目笔记
`<% tp.file.rename( tp.system.prompt("请输入新标题") ) %>` → 调用模板时,直接重命名笔记
<%* tp.file.rename( tp.date.now("YYYYMMDD") + " - " + await tp.system.prompt("✅ 请输入笔记标题:") ) %>→ 调用模板时,直接重命名笔记为组合内容
`[[<% tp.file.title %>]]` → 自动生成当前笔记的内部链接,方便跳转
>`<%* %>` 属于异步执行
## ✅ 六、【加餐】3 个「重命名高频实用写法」(直接复制,日常最常用,覆盖 90% 场景)
都是你刚需的场景,全部是「异步 + 重命名 + 日期 + 弹窗」的完美组合,**直接复制到你的模板里就能用**,不用改任何东西:
### ✔️ 写法 1日记专用 → 日期 + 自定义标题 (你的需求)
js
```js
<%* tp.file.rename( tp.date.now("YYYYMMDD") + " - " + await tp.system.prompt("请输入日记标题:") ) %>
```
✅ 效果:`20260115 - 周四感悟`
### ✔️ 写法 2读书笔记专用 → 日期 + 书名(弹窗输入)
js
```js
<%* tp.file.rename( tp.date.now("YYYY-MM-DD") + " 读书笔记 - " + await tp.system.prompt("请输入书籍名称:") ) %>
```
✅ 效果:`2026-01-15 读书笔记 - 被讨厌的勇气`
### ✔️ 写法 3极简无固定文字 → 只生成「弹窗输入的标题」
js
```js
<%* tp.file.rename( await tp.system.prompt("请输入笔记标题:") ) %>
```
## ✅ 背诵级・核心浓缩新增异步重命名最终终极版3 句话记牢所有核心)
不用背所有语法,这 3 句话 = Templater **全部核心 + 所有避坑点**,学会后再也不会出错,覆盖 100% 需求:
1. 同步用 `<% %>`,异步用 `<%* %>`,弹窗必加 `await`,注释用 `<%* %>`
2. 嵌套必写 `tp.file.include("[[模板名]]")`,日期必写 `tp.date.now("格式")`,光标必写 `tp.cursor()`
3. 调用模板唯一正确方式右键→Insert Template重命名报错只查「*」和「await」两个点。
---
## ✨ 六、文本快捷语法(锦上添花,减少打字)
简单好用,不用手动敲格式,适合做笔记时快速生成固定文本,按需复制
`<% "——————————————————" %>` → 自动生成分割线,美化笔记排版
`<% tp.file.selection() %>` → 自动插入你「选中的文本」(比如摘抄的句子)
`<% tp.util.random_item(["内容1","内容2","内容3"]) %>` → 随机生成其中一个内容(适合每日一句 / 灵感)
---
## ✨ 七、新手高频避坑速查(语法失效?先看这里!)
### ❌ 问题 1语法写了生成后是空白 / 原封不动显示语法
▸ 原因:① 少了`<% %>`包裹 ② 符号用了中文 ③ 插件没启用
▸ 解决:直接复制速查表的语法,不要手动敲;检查插件是否启用,重启 Obsidian
### ❌ 问题 2模板嵌套后子模板内容不显示
▸ 原因:① 子模板名写错 ② 子模板没放在「模板文件夹」里 ③ 少了双中括号`[[ ]]`
▸ 解决:核对模板名(一字不差),把子模板拖进指定文件夹,用速查表的嵌套语法
### ❌ 问题 3日期 / 变量生成的格式不对
▸ 原因:格式没加英文引号,比如写成`tp.date.now(YYYY-MM-DD)`
▸ 解决:所有日期格式必须加引号 → `tp.date.now("YYYY-MM-DD")`
### ❌ 问题 4调用模板后变量没自动更新
▸ 原因用了「复制粘贴模板」不是用「Insert Template」调用
▸ 解决严格按右键→Insert Template 调用,这是唯一正确方式
### ✅ 避坑总结(一句话记牢)
**符号不错、路径不错、调用不错,语法就一定生效!**
---
## ✨ 八、新手必存「现成组合模板」直接复制保存0 修改即用)
不用自己拼语法3 个最常用的场景,全部是「基础语法 + 嵌套 + 变量」的完美组合,**复制到你的模板文件夹,立刻能用**,覆盖 90% 日常需求!
### ✔️ 模板 1终极日记模板日记 + 打卡 + 复盘,嵌套版)
plaintext
```plaintext
# <% tp.date.now("YYYY年MM月DD日 周DD") %> 我的日记
天气:<% tp.system.suggester(["晴","阴","雨","雪"],["晴","阴","雨","雪"]) %>
心情______
## ✅ 今日待办
1. ______
2. ______
<% tp.file.include("[[习惯打卡模板]]") %>
## ✨ 今日复盘
完成的事______
未完成的事______
明日计划______
今日感悟:
<% tp.cursor() %>
```
### ✔️ 模板 2终极读书笔记模板书籍信息 + 摘抄 + 感悟,嵌套版)
plaintext
```plaintext
# <% tp.system.prompt("请输入书名:") %> 读书笔记 | <% tp.date.now("YYYY-MM-DD") %>
<% tp.file.include("[[书籍信息模板]]") %>
## ✍️ 金句摘抄
1. ______
2. ______
## 💡 我的思考
收获______
启发______
行动清单______
<% tp.cursor() %>
```
### ✔️ 模板 3周计划模板周目标 + 每日计划,嵌套版)
plaintext
```plaintext
# 2026年第<% tp.date.now("WW") %>周 周计划
本周核心目标______
## 周一 | <% tp.date.now("YYYY-MM-DD") %>
<% tp.file.include("[[日计划模板]]") %>
## 周二 | <% tp.date.add(tp.date.now(),1,"d","YYYY-MM-DD") %>
<% tp.file.include("[[日计划模板]]") %>
## 周三 | <% tp.date.add(tp.date.now(),2,"d","YYYY-MM-DD") %>
<% tp.file.include("[[日计划模板]]") %>
```
---
## ✨ 九、背诵级・核心浓缩3 句话,记牢就够用)
不用背所有语法,记好这 3 句Templater 的核心就掌握了,日常笔记完全够用:
1. 所有语法必写 `<% %>`,嵌套必写 `tp.file.include("[[模板名]]")`
2. 高频三板斧:自动日期 `tp.date.now()` + 光标定位 `tp.cursor()` + 弹窗输入 `tp.system.prompt()`
3. 调用模板唯一正确方式:右键 → Insert Template
---
## ✨ 最后小提醒
你现在已经掌握了 Templater 所有「新手必学的核心语法」,包括嵌套、日期、光标、交互,这些内容能覆盖你 **95% 的日常笔记需求**(日记、读书笔记、计划、打卡、复盘)。
不用追求学完所有冷门语法Templater 的本质就是「帮你省时间、少打字」,咱们新手的目标就是:**一键生成模板 → 填内容 → 完成笔记**,简单高效就好~
慢慢积累你的模板库,你会发现写笔记的效率直接翻倍,这就是这个插件最棒的价值啦!✨