跳转到内容

Obsidian Templater 自动文件名配置

使用 Templater 插件实现新建笔记时自动按日期格式命名文件。

  1. 在 Obsidian 中打开 设置 → 第三方插件 → 浏览
  2. 搜索 Templater 并安装
  3. 启用插件

在 Vault 中创建模板目录和模板文件,例如 模板/自动文件名.md

<%*
const folder = tp.file.folder(true);
const baseName = tp.date.now("YYYYMMDD") + "-每日工作";
let fileName = baseName;
let counter = 1;
// Check if file exists, auto increment suffix if needed
while (await tp.file.exists(folder + "/" + fileName + ".md")) {
fileName = baseName + "-" + counter;
counter++;
}
await tp.file.rename(fileName);
%>

说明:

  • tp.file.folder(true) - 获取当前文件的完整文件夹路径
  • tp.date.now("YYYYMMDD") - 获取当前日期,格式为 20260123
  • tp.file.exists() - 检查文件是否存在
  • tp.file.rename() - 重命名当前文件
  • 如果同名文件已存在,自动添加序号后缀:20260123-每日工作-1.md

.obsidian/plugins/templater-obsidian/data.json 中配置:

{
"templates_folder": "模板",
"trigger_on_file_creation": true,
"enable_folder_templates": true,
"folder_templates": [
{
"folder": "/",
"template": "模板/自动文件名.md"
}
]
}

关键配置项:

配置项说明
templates_folder模板文件所在目录
trigger_on_file_creation创建新文件时触发模板
enable_folder_templates启用文件夹模板功能
folder_templates为指定文件夹设置默认模板,"/" 表示所有文件夹

Templater 使用 Moment.js 日期格式:

格式示例说明
YYYY2026四位年份
MM01两位月份
DD23两位日期
HH1424小时制小时
mm30分钟
ss45
YYYYMMDD20260123年月日
YYYY-MM-DD2026-01-23带分隔符

打开开发者工具查看详细错误:Cmd + Option + I (macOS)

常见原因:

  • Destination file already exists - 目标文件已存在,使用上述带文件存在检查的模板可解决
  • 模板语法错误 - 检查 <%*%> 是否匹配

如果自动触发不工作,可手动应用:

  1. 新建笔记
  2. Cmd + P → 输入 “Templater”
  3. 选择 Templater: Insert template
  4. 选择模板文件