SuperAPI AI 工具集

obsidian-webhooks-events

编程与开发

查看项目

更新于 10-15 23:27

技能介绍

用途:为 Obsidian 插件开发提供事件系统指南,覆盖仓库事件(创建、修改、删除、重命名)、工作区事件(布局、活动叶子、编辑器状态)、metadataCache 事件、DOM 事件、自定义 EventRef 模式与周期任务。

主要能力:所有事件注册均使用 this.registerEvent(),插件卸载时自动清理;DOM 事件用 registerDomEvent,定时器用 registerInterval,避免内存泄漏。仓库事件可监听 TFile 与 TFolder 的生命周期;工作区事件可跟踪 active-leaf-change、file-open、layout-change、editor-change、resize,并用 onLayoutReady 等待布局初始化。metadataCache 的 changed 事件在解析完成后触发,resolved 事件表示全库索引完成,适合构建索引。

使用方式:在插件 onload() 中注册事件,在 onunload() 由框架自动清理。示例包括文件变更日志、frontmatter 标签监听、自定义事件总线(继承 Events 类,提供 on/off/trigger)。

限制与注意:modify 事件在某些配置下每次按键都会触发,非轻量处理需防抖(默认 500ms 较合适);metadataCache 未 resolved 前查询会得到不完整数据;onload 中直接访问工作区可能早于布局,应放入 onLayoutReady;active-leaf-change 的 leaf 可能为 null,需判空;不要使用原生 addEventListener 或 setInterval。

适用场景:需要响应式功能的 Obsidian 插件,如自动索引、标签监控、草稿自动保存、外部数据定时刷新。

资料未提供具体版本要求、收费信息或平台限制。