Support an editable mind map view for list blocks
Author: 88250Created Aug 18, 2026Updated Sep 17, 2026
LabelsEnhancement
使用原生渲染器改进内置思维导图
关联议题:https://github.com/siyuan-note/siyuan/issues/16438
关联 PR:https://github.com/siyuan-note/siyuan/pull/16439
现有内置思维导图使用 ECharts tree 渲染,仅适合基础列表结构。PR #16439 尝试改用 Markmap,但当前实现存在分支冲突、外部 CDN 资源加载、依赖版本陈旧、编辑时完整重排和 SVG 导出可移植性不足等问题,不适合直接合并。
建议不直接依赖 Markmap,而是基于 Lute 的解析结果实现面向思源使用场景的轻量原生思维导图渲染器:
- 支持使用 Markdown 标题和列表构建层级结构
- 支持加粗、链接和行内代码等常用行内格式
- 使用 SVG 渲染节点与连线,支持平移、缩放、折叠和重置视图
- 编辑时使用防抖更新,并正确管理渲染实例的创建与销毁
- 所有脚本、样式、字体和其他依赖均使用本地资源,不因笔记内容加载外部脚本
- 适配亮色、暗色和自定义主题
- 支持导出 PNG,并提供浏览器兼容的 SVG 导出
- 保持现有 mindmap 块的数据格式兼容,无需迁移已有数据
首版不要求兼容 Markmap 的全部语法和配置,优先覆盖思源内置思维导图的核心使用场景,并补充编辑器、只读模式、移动端、离线 HTML、PDF 和图片导出的相关测试。
Source: siyuan-note/siyuan