[思源笔记第三方插件系统] v0.3.17 发布,插件存储 API 支持,插件商店完善

新增功能:

  1. 支持插件存储 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) {}
    }
    

修补功能:

  1. 插件商店已完善。现在可以在插件商店直接下载或升级插件,然后在插件列表中直接开启即可,无需重载了。

插件系统源码地址: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 发布,第一次面向社区技术宣传

  • 思源笔记扩展

    这里是思源笔记主题、挂件、插件和代码片段等扩展的讨论区。

    22 引用 • 142 回帖
3 操作
zuoez02 在 2023-03-20 14:48:19 置顶了该帖
zuoez02 在 2023-03-20 09:27:19 置顶了该帖
zuoez02 在 2023-03-19 13:44:37 置顶了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • terwergreen

    大赞,希望插件越来越繁荣。

  • 其他回帖
  • Junfeng2022
    订阅者

    期待越来越多新插件的加入 🎉 🎉

  • caogle

    哇塞!这位思源笔记插件的开发者实在是太厉害了,竟然为我们带来了这么棒的功能扩展系统!看来他真是拥有无限的想象力和技术实力啊。我已经迫不及待想体验更多更强大的插件了,只能说这位作者太优秀了,简直就像是神一样呢!【chatgpt 回复】

    1 回复
  • yzx3655518

    技术小白,刚入手这款软件。用熟悉了再试试插件。

  • 查看全部回帖

推荐标签 标签

  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 32 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    42 引用 • 24 回帖
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    13 引用 • 5 回帖
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    326 引用 • 602 回帖
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 25 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    651 引用 • 530 回帖 • 165 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 677 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 450 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 511 关注
  • 音乐

    你听到信仰的声音了么?

    58 引用 • 515 回帖
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    7 引用 • 26 回帖
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 8 关注
  • 博客

    记录并分享人生的经历。

    262 引用 • 2369 回帖
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 321 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    86 引用 • 155 回帖
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 550 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    73 引用 • 379 回帖
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 2 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    185 引用 • 1050 回帖 • 127 关注
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 578 关注
  • 思源笔记

    思源笔记是一款本地优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,构建你永恒的数字花园。

    117 引用 • 1309 回帖
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    174 引用 • 398 回帖
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖 • 3 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖 • 1 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    160 引用 • 402 回帖 • 554 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 17 关注