tags: TODO: public: true
1. 准备工作
- 安装并启用 Templater 插件。
- 在库中创建一个文件夹(例如
_scripts)。 - 在
设置 -> Templater -> Script files folder location中,选中该文件夹。
2. 创建脚本
在 Scripts 文件夹中新建文件 add_mod_date.js,复制以下代码:
/**
* 逻辑:如果今天的日期不在文件的 mod_history 属性中,则追加进去。
*/
async function add_mod_date(tp) {
const file = tp.file.find_tfile(tp.file.path(true));
const today = moment().format("YYYY-MM-DD");
const propName = "edit";
await tp.app.fileManager.processFrontMatter(file, (frontmatter) => {
// 初始化或规范化数组
if (frontmatter[propName] === undefined) {
frontmatter[propName] = [];
}
if (!Array.isArray(frontmatter[propName])) {
frontmatter[propName] = frontmatter[propName] ? [frontmatter[propName]] : [];
}
// 去重添加
if (!frontmatter[propName].includes(today)) {
frontmatter[propName].push(today);
frontmatter[propName].sort(); // 可选:排序
new Notice(`已记录修改日期: ${today}`);
} else {
// new Notice(`今天已记录过`); // 可选:静默模式可注释此行
}
});
}
module.exports = add_mod_date;
3. 创建调用模版
在你的模版文件夹中新建一个笔记(如 工具-更新修改历史.md),写入:
<% tp.user.add_mod_date(tp) %>
4. 绑定快捷键 (关键步骤)
由于模版默认不显示在快捷键列表,需先注册:
- 打开 设置 -> Templater。
- 找到 Template Hotkeys 区域。
- 点击 Add new hotkey for template,选择刚才创建的
工具-更新修改历史.md,点击+号。 - 转到 设置 -> 快捷键 (Hotkeys)。
- 搜索
Templater: Insert template,找到刚才注册的条目,设置快捷键(如Alt+S)。
5. Dataview 汇总 (用于日记)
在你的 日记模版 中加入以下查询,即可自动列出历史记录包含该日记日期的文件:
TABLE file.mtime as "最后修改时间"
FROM ""
WHERE contains(mod_history, string(this.file.day))
AND file.name != this.file.name
SORT file.mtime desc
6. 使用流程
- 日常修改:修改某文件后,按下快捷键(
Alt+S)。 - 自动记录:文件的 YAML 属性
mod_history会自动增加今天的日期(如2026-01-09)。 - 日记回顾:打开 2026-01-09 的日记,Dataview 会自动抓取所有在该日期打过卡的文件。