思维导图
思绪思维导图
特点:嵌入式,以 SVG / PNG 图片方式嵌入思源文档。主要用途是输出(1. 导出 Markdown.zip 格式可脱离思源笔记和插件使用;2. 导出 Siyuan.sy.zip 可脱离插件使用;3. 分享到第三方网络平台时图片可用;4. 将思绪导图以图片的方式嵌入思源文档,作为正式文档的配图,导出 PDF 作为正式文档交付)

Kmind
特点:文档式,在文档树中以独立于思源文档的形式存在。以 .kmind格式存储在 assets目录中,如果改为以 .svg方式存储会更为理想,可直接在文档树中创建思维导图用于思路梳理、头脑风暴、项目任务分解等,待思维导图完善后,拖动到思源文档,以图片嵌入方式作为正式文档的配图。在文档中可以通过编辑按钮直接打开原思维导图再次编辑,在文档树中对原思维导图进行修改后嵌入文档的思维导图也会同步更新(毕竟对应的是同一个 .svg文件),但目前是以 .kmind格式存储的,没办法以图片的方式嵌入到思源文档中,实现从输入(独立文档)到输出(嵌入文档)的闭环知识闭环。也正因为嵌入文档的不足才增加了【思绪思维导图】插件制作需要嵌入文档作为正式输出的导图,但遗憾的是输入(kmind)和输出(思绪思维导图)之间只能通过 .json格式作为中转,在输出端更新导图后输入端导图无法自动更新,在输入端更新导图后输出端也无法同步更新,必须要以 .json 格式作为中转介质手动更新。希望 Kmind 作者后续加以改进。

在功能层面,Kmind 作为高级功能需要付费的插件,完善度相当高,多根节点、MOC 模式、文档树导图都是非常好用的功能。【思绪思维导图】作为后来者在设计也相当优秀,通过【子文档转导图】功能也基本实现了 Kmind 的 MOC 模式,文档大纲转导图、文档内容转导图、复制该节点为图片(可编辑)这些功能都相当实用,但在导图制作功能上还有待改进,例如核心功能快捷键不完善(超链接、禅模式没有快捷键)、没有多根节点功能、没有版本历史功能等。Kmind 的快捷键也不完善(超链接、禅模式、切换只读没有快捷键),我个人习惯是使用禅模式,但需要将某节点链接至思源文档时就需要退出禅模式之后再单击【超链接】才可以实现,操作体验上有一点点不足。
白板
嵌入式系列-Excalidraw
嵌入式,以 SVG / PNG 图片方式嵌入思源文档。主要用途是输出(1. 导出 Markdown.zip 格式可脱离思源笔记和插件使用;2. 导出 Siyuan.sy.zip 可脱离插件使用;3. 分享到第三方网络平台时图片可用;4. 将白板内容以图片的方式嵌入思源文档,作为正式文档的配图,导出 PDF 作为正式文档交付)

Whiteboard
特点:伪文档式,一份思源文档加入 Whiteboard 挂件后平铺占满整个文档,且该文档原有其他内容块被 Excalidraw 编辑界面覆盖,在前台已无法看到,加入 Whiteboard 挂件后不能再加入其他文档块,看起来就像是以独立白板的形式存在,所以说是伪文档式。实际上是以 .excalidraw格式存储在 assets\ExcalidrawFiles目录中,如果改为独立的文档树白板,且以 .svg方式存储会更为理想,可通过菜单快速创建白板文档用于思路梳理、头脑风暴、方案设计等,待白板完善后,以 .svg图片方式嵌入至思源文档中作为内化后的文档的配图用于正式输出。在文档中可以通过编辑按钮直接打开原白板再次编辑,在文档树中对原白板进行修改后嵌入文档的白板也会同步更新(毕竟对应的是同一个 .svg文件),实现从输入(独立文档)到输出(嵌入文档)的闭环知识闭环。也正因为嵌入文档的功能不足才增加了【嵌入式系列-Excalidraw】插件用于需要嵌入文档作为配图用于正式输出的白板制作,但遗憾的是输入(Whiteboard)和输出(Excalidraw)之间只能通过 .excalidraw格式作为中转,在输出端更新导图后输入端导图无法自动更新,在输入端更新导图后输出端无法更新,必须要以 .excalidraw 格式作为中转介质手动更新。

在功能层面,嵌入式系列-Excalidraw 虽然是后出的,但完善度相当高,且在素材库中导入的素材在一个思源工作空间中是可以一直存在的,也就是不需要每次制作白板需要用到素材时都要手动导入一次,且嵌入思源块的特殊处理方式可以让生成的 .svg格式的白板也能显示嵌入思源块的内容(这一点在 Whiteboard 中导出的 .svg格式图片中是看不到嵌入的思源块的内容的)。再者就是正因为是后出的,嵌入式系列-Excalidraw 开发设计会更完善,可以通过用户自定义 css 和 js 来扩展实现更多的功能,例如作者写了一个 Tab 键切换图形的功能,是超级好用的功能,特别是对天天跟画流程图打交道的用户来说,真的会好用的感动到哭。在嵌入式系列-Excalidraw 现有的功能基础上,如果增加【文档树】白板功能,且以 .svg或 .png 格式存储,可以拖动到思源文档直接嵌入至思源文档中,两端的更新都对应同一个图片文件,这确实是一个非常非常实用的功能。
独立文档的最大好处是可以在文档树中组织、创建和打开,对输入是最有利的,我的工作是天天投屏,使用文档树来组职管理文档,可以文档树中直接打开展示是相当方便的,不需要打开思源文档,找到嵌入图片后再打开(这不够高效)。嵌入文档的最大好处是作为正式文档的配图,可脱离插件输出。
文档树实现逻辑研究
一级文档树导图

二级文档树导图

后台数据存储结构

创建文档树白板逻辑

拖动白板到思源文档

非技术人员,研究大致只能进行到此,但我相信思源笔记会提供相关文档树操作 api,只要调用 api 生成一个空白文档,然后在文档级属性里定义白板的存储路径和其他相关辅助属性,即可创建文档树白板,拖动白板嵌入文档。或许写一个 js 片段也能解决个问题。


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