「QuickAdd」建议不要将脚本放到 Templater 的脚本目录下

首先说声抱歉,在我之前的所有教程中, 我都是推荐将脚本放在Templater 的脚本目录下, 但其实QuickAdd 的脚本最好不要放到 Templater 的脚本目录下面, 或者说是脚本不要走 Templater 来使用, QuickAdd 会直接扫描全局的 js 文件来调用

QuickAdd 提供的api虽然没有 templater 多, 但是 两者都提供了全套的 obsidian 官方api, 所以 templater 能实现的 quickadd 也都行, 而且 QuickAdd 的脚本可以导出多个函数使用, Templater 不知道作者出于何考量为何只能导出一个.
例如昨天的脚本

便可以把 type 这个变量去掉, 而是用 导出两个函数的方式来同时使用 文件名称和路径两个功能, 而不用每次更改 type 来死板的使用

{{MACRO:随机图片::full}} {{MACRO:随机图片::short}}

image

其次是 <%* %> 运行 js 脚本时, 似乎无法在外面包裹别的字符, 起到替换的作用, 只能作为一个功能性的脚本使用, 而使用 {{MACRO}} 可以随意放置, 替换.

综上, 建议使用 QuickAdd 来管理, 调用js脚本, Templater 作为 QuickAdd 的语法拓展

与QA的作者交流记录: [FR] Can I module.exports multiple functions? · Issue #125 · chhoumann/quickadd · GitHub

2 个赞

QuickAdd如何使用obsidian的api,obsidian的api介绍教程比较少,
比如如何获取当前行的内容,如何折叠文件夹,不知道要怎么操作,请指点下思路,非常感谢!!

obsidian-api/obsidian.d.ts at master · obsidianmd/obsidian-api · GitHub 看这个 , 以及去看看quickadd 插件传过来的app里的结构, 那些底部的方法就是 d.ts 暴露出来的, 一般可以用类似 await
app.workspace.activeLeaf.view.editor.getSelection() 来调用

这个api路径有点长啊,不说还真不好找,主要还是api结构不熟悉,我去学下,谢谢!!