Files
windyboy f44f8b8e6a feat(daily): add daily note creation workflow and documentation
Add comprehensive daily note system with multiple creation methods:

- Add daily-note.js script for CLI-based daily note creation
- Add daily-note npm command to package.json
- Create DAILY_NOTE_GUIDE.md with complete workflow documentation
  - Three creation methods: CLI, Templater, QuickAdd
  - Step-by-step usage instructions
  - Recommended daily workflows
  - Troubleshooting guide

Add new reference documentation:
- GIT_WORKFLOW.md: Git workflow best practices
- PARA_METHOD.md: PARA method explanation
- TROUBLESHOOTING.md: Extended troubleshooting guide
- AGENTS.md: Agent coding guidelines and commands
- QUICK_REFERENCE.md: 1-page quick reference card
- REFACTOR_SUMMARY.md: Refactoring summary

Organize reference docs:
- Move Templater guides to 06_Metadata/Reference/
- Move Obsidian plugins manual to 06_Metadata/Reference/
2026-01-06 14:16:07 +08:00

5.4 KiB
Raw Permalink Blame History

title, created, updated, tags, type
title created updated tags type
Templater 使用指南 2026-01-05 2026-01-05
obsidian
templater
guide
reference
reference

Templater 使用指南

什么是 Templater

Templater 是 Obsidian 最强大的模板插件,它允许你创建动态模板,使用变量、函数和命令来自动化你的笔记创建流程。

核心功能

1. 基本语法

Templater 使用 <% %> 标签来执行代码:

  • <% code %> - 执行代码但不输出
  • <%= value %> - 执行代码并输出结果
  • <%* async code %> - 执行异步代码

2. 内置变量

日期和时间

<% tp.date.now("YYYY-MM-DD") %>          # 当前日期:2026-01-05
<% tp.date.now("HH:mm") %>               # 当前时间:14:30
<% tp.date.now("YYYY-MM-DD HH:mm:ss") %> # 完整时间戳
<% tp.date.tomorrow("YYYY-MM-DD") %>     # 明天的日期
<% tp.date.yesterday("YYYY-MM-DD") %>    # 昨天的日期
<% tp.date.weekday("YYYY-MM-DD", 0) %>   # 本周日(0=周日)

文件信息

<% tp.file.title %>           # 当前文件标题(不含扩展名)
<% tp.file.creation_date() %> # 文件创建日期
<% tp.file.folder() %>        # 文件所在文件夹
<% tp.file.path() %>          # 文件完整路径

配置信息

<% tp.config.active_file.basename %> # 活动文件名
<% tp.config.active_file.path %>     # 活动文件路径

3. 常用命令

文件操作

// 创建新笔记
<%* await tp.file.create_new("模板名", "新文件名", false, "目标文件夹") %>

// 移动文件
<%* await tp.file.move("新路径/新文件名") %>

// 重命名文件
<%* await tp.file.rename("新文件名") %>

// 包含其他文件
<% tp.file.include("[[其他笔记名称]]") %>

用户输入

// 提示用户输入
<% tp.system.prompt("请输入项目名称") %>

// 建议列表(下拉选择)
<% tp.system.suggester(["选项1", "选项2", "选项3"], ["value1", "value2", "value3"]) %>

4. 实用示例

示例1:每日笔记模板

---
date: <% tp.date.now("YYYY-MM-DD") %>
day: <% tp.date.now("dddd") %>
week: <% tp.date.now("YYYY-[W]WW") %>
---

# <% tp.date.now("YYYY-MM-DD dddd") %>

## 📋 今日任务
- [ ]

## 📝 笔记

## 🎯 重点事项

## 💡 想法与灵感

---
← [[<% tp.date.yesterday("YYYY-MM-DD") %>]] | [[<% tp.date.tomorrow("YYYY-MM-DD") %>]] →

示例2:项目笔记模板

---
type: project
created: <% tp.date.now("YYYY-MM-DD") %>
status: active
---

# <% tp.system.prompt("项目名称") %>

## 📋 项目概述
<% tp.system.prompt("项目简介") %>

## 🎯 目标
-

## 📅 关键时间节点
- 开始时间:<% tp.date.now("YYYY-MM-DD") %>
- 截止时间:

## 👥 相关人员
-

## 📎 相关资源
-

## 📝 进展记录

### <% tp.date.now("YYYY-MM-DD") %>
-

示例3:会议记录模板

---
type: meeting
date: <% tp.date.now("YYYY-MM-DD HH:mm") %>
participants:
---

# 会议记录 - <% tp.system.prompt("会议主题") %>

**时间**<% tp.date.now("YYYY-MM-DD HH:mm") %>
**地点**<% tp.system.prompt("会议地点") %>
**参与者**

## 📋 议程
1.

## 📝 讨论内容

## ✅ 行动项
- [ ]

## 🔗 相关资料

如何使用

方法1:快捷键触发

  1. 打开设置 → 快捷键
  2. 搜索 "Templater: Insert Template"
  3. 设置一个快捷键(如 Ctrl/Cmd + T
  4. 在笔记中按快捷键选择模板

方法2:命令面板

  1. Ctrl/Cmd + P 打开命令面板
  2. 输入 "Templater"
  3. 选择 "Templater: Insert Template"
  4. 选择要插入的模板

方法3:创建新笔记时自动应用

  1. 在设置中配置 "Folder Templates"
  2. 为不同文件夹指定默认模板
  3. 在该文件夹创建新笔记时自动应用模板

配置建议

1. 创建模板文件夹

建议在 06_Metadata/Templates 下创建所有模板文件

2. Templater 设置

  • Template folder location: 06_Metadata/Templates
  • Trigger Templater on new file creation: ✓ 启用
  • Enable folder templates: ✓ 启用

3. 文件夹模板映射示例

文件夹 模板
00_Inbox quick-note.md
01_Projects project.md
02_Areas area.md
06_Metadata/Daily daily-note.md

进阶技巧

1. JavaScript 代码块

<%*
// 可以写多行 JavaScript 代码
const projectName = await tp.system.prompt("项目名称");
const status = await tp.system.suggester(
  ["进行中", "计划中", "已完成"],
  ["active", "planned", "completed"]
);
tR += `项目:${projectName}\n状态:${status}`;
%>

2. 条件逻辑

<%* if (tp.file.folder().includes("Projects")) { %>
这是一个项目笔记
<%* } else { %>
这是一个普通笔记
<%* } %>

3. 循环生成内容

<%* for (let i = 1; i <= 5; i++) { %>
##  <%= i %> 部分
<%* } %>

常见问题

Q: 模板不生效?

A: 检查 Templater 设置中的模板文件夹路径是否正确

Q: 如何在已有笔记中插入模板?

A: 使用命令 "Templater: Insert Template" 或快捷键

Q: 可以创建自定义函数吗?

A: 可以!在 Templater 设置中配置 "User Scripts" 文件夹

相关资源


标签#教程 #Templater #Obsidian #模板 创建日期<% tp.date.now("YYYY-MM-DD") %>