新增功能:
-
支持插件存储 API,通过 Plugin.writeStorage(filename, content)和 Plugin.loadStorage(filename)方法实现。存储路径为/data/plugins/.storage/{pluginName}
// 函数签名如下,实际实现由插件系统实现。 export class Plugin implements IPlugin { _id: string; onload(){} onunload(){} registerCommand(command: IPluginCommand) {} async loadStorage(filename: string) { return null; } async writeStorage(filename: string, content: any) {} }
修补功能:
- 插件商店已完善。现在可以在插件商店直接下载或升级插件,然后在插件列表中直接开启即可,无需重载了。
插件系统源码地址: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 方式来设计,而是直接就运行了想要运行的代码。这样的做法并不建议,希望开发者能够使用生命周期,为用户提供插件加载与卸载的能力。
往期文章回顾:
[思源笔记第三方插件系统] v0.3.13 发布, 支持插件商店功能
[思源笔记第三方插件系统] v0.3.12 发布, 支持快捷键命令注册,发布基于 ESM 的插件样板工程(脚手架)
[思源笔记第三方插件系统] v0.3.9 发布,界面适配思源正式版 v2.7.7,新增插件 git 仓库
[思源笔记第三方插件系统] v0.3.5 发布,第一次面向社区技术宣传
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于