菜单

6.1.20250824 Templater增强:仅noteId属性不为空的笔记同步到Dinox

#templater #攻略

实现了判断有noteId才同步到Dinox,不然每个笔记都要执行这个

<%*
// 1. 读取当前文件的 front-matter
const fm = tp.frontmatter;

// 2. 判断 noteId 是否存在且不为空
if (fm && fm.noteId) {
    // 3. 执行 dinox 同步命令
    await app.commands.executeCommandById("dinox-sync:dinox-sync-current-note-command");
}
%>


如何找到命令ID

找不到“复制命令 ID”按钮时,用下面 两条命令 就能把 Dinox 的所有内部 ID 打印出来,再挑正确的那个即可。

① 打开 obsidian 控制台

Ctrl/Cmd + Shift + I → 切到 Console 标签页。

② 粘贴并回车

不能直接粘贴命令,需要先先输入:allow

app.commands.listCommands().filter(c => c.name.includes('dinox')).forEach(c => console.log(c.id, '→', c.name));

控制台会输出类似:

dinox-sync:dinox-sync-current-note-command → Dinox Sync: Sync current note to Dinox

左边那段 IDdinox-sync:sync-current-note)贴进模板:

await app.commands.executeCommandById("dinox-sync:dinox-sync-current-note-command");

保存即可。

ob地址:笔记