声明事件
事件需要声明后才能被插件接收,否则对其的监听无效。 声明事件需在mnaddon.json 中增加 events 字段:
mnaddon.json
excerpt:创建摘录。- 返回
{noteid, opened}。 - 由于创建摘录时会以 mini 模式唤起所有接收符合条件的事件的面板,所以当唤起成功时
opened为 true,失败或者已经打开面板时为 false
- 返回
comments:卡片批注有变化(包括折叠展开、新增、修改等)。- 返回
{noteid?,noteids}。 - 摘录卡片的批注变化时,脑图中的卡片和文档中的标注卡片均会包含在
noteids里,但noteid仅为被修改的脑图中的卡片
- 返回
practice:作答纸(整卡截图批注)编辑器关闭。⚠️仅由当前插件打开的作答纸关闭时才可触发。- 返回
{noteid, action, saved, commentId}
- 返回
synced:同步合并完成。- 无返回值
undo:撤销或重做。- 无返回值
imported:卡片被批量添加进学习集。- 无返回值
监听事件
页面加载完成之前推来的事件会进入队列,加载完成后会统一发放
摘录事件筛选
面板关闭时用户进行摘录操作,MN 会先用mini 模式打开面板,再推送摘录事件,事件中的 opened 为 true。如有需要,可以在完成处理后调用 mn.close() 进行关闭。
如果只关心某一类摘录,可以用 excerptClaim 进行限制:
#VocabPending 标签的新摘录事件才会触发该插件中的excerpt事件。
configKey 可选,配置之后此标签可以由模板配置覆盖。如上配置时,取值为模板里 pluginConfigs["mn.vocab"]["pendingTag"]。
不写 excerptClaim 时,所有摘录行为均会唤起插件面板并触发excerpt 事件。
卡片菜单命令
cardCommand 不需要在 events 中声明。用户在卡片菜单里点了声明过的命令之后会触发cardCommand事件: