新增功能:
-
支持“命令注册”:参考 Obsidian 设计,通过 Plugin.registerCommand 实现。为未来核心插件
命令面板
提供基础支持。class SamplePlugin extends Plugin { onload() { this.registerCommand({ command: "sayHello", shortcut: "ctrl+a", description: "print say hello to console", callback: () => console.log('hello'), }) } }
-
重构 API,支持自动构建
siyuan
npm 包,可通过npm install siyuan
获取插件 API,类似 obsidian 插件的方式。 -
提供样板工程 https://gitee.com/zuoez02/siyuan-plugin-sample,使用 ESM 方式构建,内置 Typescript 与 Vite。
插件系统源码地址:https://gitee.com/zuoez02/siyuan-plugin-system
插件仓库源码地址:https://gitee.com/zuoez02/siyuan-plugins
插件样板工程地址 🌟:https://gitee.com/zuoez02/siyuan-plugin-sample
Github 上有同步仓库,切换域名即可访问
插件系统安装教程 🌟:https://ld246.com/article/1677683841865
插件系统发展路线:https://github.com/users/zuoez02/projects/1
插件系统目前还是我一个人在开发,并且只有业余时间,所以进展还是比较慢的。最近在打磨目前已有的代码,功能开发进度比较慢,敬请谅解。
如果各位有写好的插件想要分享,欢迎提 PR 到插件仓库,或者自行维护宣传即可。
PS:群里有小伙伴提出了插件代码的截图,我发现并没有按照设计的 Plugin onload 方式来设计,而是直接就运行了想要运行的代码。这样的做法并不建议,希望开发者能够使用生命周期,为用户提供插件加载与卸载的能力。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于