#18831·siyuan

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 和图片导出的相关测试。