如图,我在使用 obsidian 实践网文写作的时候,发现创建文件的时候就可以根据章节数量自动重命名新建文件,减少命名时对灵感的打扰。
由于我本人习惯只使用数字作为名字,具体章节名称写在文件里面,这样感觉还挺方便整洁的,就是有一个问题。新建文件自动重命名后,ob 的重命名弹窗还是自己会弹出来,要手动点取消,不知道有没有解决的办法……
下面附上 templater 的实现代码:
<%*
// 获取当前文件的文件夹路径
const folderPath = tp.file.folder (true);
const folder = app.vault.getAbstractFileByPath (folderPath);
if (folder && folder. children) {
// 获取文件夹下的所有文件,过滤掉文件夹,仅保留文件
const filesInFolder = folder.children.filter (f => f.extension);
// 统计文件数量
const fileCount = filesInFolder. length;
// 根据文件数量决定格式化位数
const numDigits = fileCount >= 100 ? 3 : 2;
const newFileName = String (fileCount). padStart (numDigits, '0'); // 格式化为两位或三位数,如 01 或 101
// 重命名当前文件
await tp.file.rename (newFileName);
} else {
console.error ("重命名失败");
}
%>
创建模板后,设置为新建文件时自动运行即可。