-
思源开发插件时如何保存插件数据,能保存多大的数据?
2024-09-27 00:12配置文件建议直接通过 saveData 存成 json 文件。
大的资源文件建议放到 /data/public (或者别的目录下),然后通过调用 putFile 等 API 来进行 IO 操作。
-
插件开发 | 不要在 onunload 中调用 saveData
2024-08-27 23:37你说的情况就相对复杂一些了。
我说的 「onunload 里面不要 saveData」 是表象。核心的关键其实是两点:
- 思源会先启动插件再做同步
- 同步数据完成后,思源有可能会 reload;reload 的过程中会调用
onunload
钩子
面对复杂一下的情况,就需要把握这两点进行具体分析了。
-
问一下书签 + 怎么实现随机漫步一个笔记本下的文档 / 一个文档下的子文档
2024-08-11 12:56这属于 SQL 的问题。
限制只查询文档的话,就加上
type='d'
条件。限制笔记本就用
box='笔记本ID'
做限制条件;子文档就用path like '%文档ID/%'
做限制条件。 -
代码片段实现代码块最近使用的语言置顶
2024-08-09 12:00vite-svelte 模板提供了热重载,但是这个热重载本质是检测到文件发生变动就自动 window-reload。和无需刷新的热重载可能还有点差距,但其实日常使用也能用。
你如果不想要使用 node 环境开发,可以试一下‘开发 API’或者‘Run JS’。
这两个插件都把一些前端的 API 透传到了 globalThis 下面(RunJS 还透传了一些对 kernel api 的封装),这样直接在思源里面就可以调用一些给插件用的 api 了。
-
如何评价“开源本来就是为爱发电,不应该有任何负面评价”这种思潮?
2024-08-08 11:30你们“为爱发电”开发软件的时间值钱,难道成千上万大众的筛选软件的时间成本就不值钱吗?
你这就是属于强行制造对立,混淆概念了。
「筛选软件的时间成本」和开发者开发软件没有直接关系,那是各种教程、分享、交流应该负责解决的事情。
只是说在这个案例里面,某人提出的针对「筛选软件的时间成本」的方案可能带来对开发者积极性的负面影响,这属于技术性问题,是方案设计的不够好的问题。比如某些插件被刷了低分、差评,那于作者而言是不是干脆下架插件,眼不见心不烦为好?——考虑到思源的社区规模比较小,目前不适合应用这种模式。(不过或许可以换成点赞这种只有正向反馈的模式,这个可能会好一点)。
总结一下就是:
- 「“为爱发电”开发软件的时间」和「成千上万大众的筛选软件的时间」这两者之间不存在内生性的矛盾,这个矛盾是被你人为拼接出来的。
- 你提出的核心矛盾是有问题的,所以你后面的就题发挥均没什么讨论的价值;任何字斟句酌都变成了无聊的对概念的辨析和对定义权的争夺。
- 如果你真的想要进行有意义的讨论,那也应该是技术性的,比如:如何在不影响开源作者的积极性的前提下构建一个有参考的评价、分享系统。
至于你强行把开源作者和普通用户对立,我只能这么说:
-
目前 3.x 的版本还存在丢笔记的情况吗?
2024-08-08 00:43 -
建议增加云空间容量
2024-07-31 21:44朋友,在线笔记和离线笔记的空间是不能放在一起算得。😂
在线笔记的空间算的是存储,没有什么特别的流量开支;而离线笔记的空间要算的是流量。
在目前的中国网络环境下,流量的费用是要显著高于存储的。
我理解你的不解,但是这个问题其实还挺复杂的。只能说选了离线笔记,在云端的成本就会有额外的“税率”😭 。
-
思源插件开发 | 使用前端框架要小心内存泄漏风险
2024-07-20 00:27可能你遇到的场景比较复杂吧。
我之前也遇到过需要组件主动销毁自己并关闭 Dialog。不过我习惯的做法是向上传一个 close 事件,然后在外部的 js 里通过
component.$on('event')
监听这个事件,并引用 dialog 进行销毁。你提到的是一个不同的思路,对我还是有些启发的,感谢分享 👍 。
-
思源插件开发 | 使用前端框架要小心内存泄漏风险
2024-07-19 23:38感谢分享。关于内存泄漏,其实如果没有额外创建副作用,一般也不存在这个问题。毕竟 DOM 删掉了,引用计数器归零,自然会被回收。
出问题的主要就是那些创建了副作用,然后在 Unmount 生命周期钩子函数里做清理的。这种情况就必须 destroy 来手动触发 Unmount 生命周期的了。
我这两天又更新了一下模板,增加了一个 svelteDialog 方法,基本就是做了一个简单的包装,默认在回调中调用 destroy 销毁组件。
https://github.com/siyuan-note/plugin-sample-vite-svelte/blob/main/src/libs/dialog.ts
-
求教,enhance 插件和 Whiteboard 挂件兼容相关,底部双链强制显示在白板上
2024-07-15 23:53试一下这个?
div.protyle-wysiwyg[alias="whiteboard"] + .enhanceProtyleBottomContainer { display: none; }
-
新插件「书签 +」的一些用法
2024-07-11 16:05不过现在有个小瑕疵,展示的数据库块不但显示数据库标题,还显示该数据库各视图的名称,看起来不够简洁。
可以给块命名。目前插件的逻辑是,如果块有命名,那么优先展示命名,否则就展示 content。
-
[已解决] 几个思源安装插件或者配置后的奇怪问题求解 (插件冲突导致)
2024-07-11 14:12-
第一个推测是「侧边栏工具」插件添加的
-
第二个可能是你安装了「书签 +」插件,该插件默认会隐藏内置的书签,如果想要显示,请在设置中配置
-
第三个不清楚,只能通过禁用插件做排除法
-
-
下次版本更新时,下载页面,能否提供 docker image 下载
2024-07-07 00:41感觉最好的方法是 github action 里配置在编译完后把 image 文件传到 release 当中?不确定能不能做。