How markmindckm/obsidian-enhancing-mindmap works
This is an Obsidian plugin for creating and editing mind maps from vault Markdown. The main workflow starts with a workspace command or opening a Markdown file in the mind-map view, builds and lays out an editable node tree, then saves changes back to the vault. Editing commands support node changes, drag-and-drop, and undo/redo; the view also exports images. The README documents switching between mind-map and Markdown views and synchronization between boards. Some of those relationships are not visible in the sampled source, so they are shown as unverified rather than asserted.
Main entry points: MindMapView.ts Mind map view · mindmap.ts Mind map controller · main.ts Workspace commands · Execute.ts Command executor
Components 17
Obsidian integration
- Workspace commands
src/main.ts - Mind map view
src/MindMapView.ts - Vault Markdown
- Board synchronization
src/MindMapView.ts
Mind map runtime
- Node tree
src/mindmap/INode.ts - Map layout
src/mindmap/Layout.ts - Mind map controller
src/mindmap/mindmap.ts - XMind Zen import
src/mindmap/import/xmindZen.ts
Editing and history
- Command executor
src/mindmap/Execute.ts - Edit commands
src/mindmap/Cmds.ts - Undo redo history
src/mindmap/History.ts
Settings and export
- Plugin settings
src/settings.ts - Settings panel
src/settingTab.ts - Translations
src/lang/helpers.ts - DOM image export
src/dom-to-image-more.js - Markdown transformer
src/markmapLib/markmap-lib
Other components
- Obsidian user
Connections 18
- Obsidian user → Workspace commands: invokes commands
src/main.ts - Workspace commands → Mind map view: opens view
src/main.ts - Mind map view → Vault Markdown: reads and writes
- Mind map view → Mind map controller: creates controller
src/MindMapView.ts - Mind map controller → Node tree: manages nodes
src/mindmap/mindmap.ts - Mind map controller → Map layout: creates layout
src/mindmap/mindmap.ts - Mind map controller → Command executor: dispatches edits
src/mindmap/mindmap.ts - Command executor → Edit commands: creates commands
src/mindmap/Execute.ts - Command executor → Undo redo history: records commands
src/mindmap/Execute.ts - Undo redo history → Edit commands: executes and reverts
src/mindmap/History.ts - Mind map controller → XMind Zen import: converts import
src/mindmap/mindmap.ts - Mind map view → Markdown transformer: transforms Markdown
src/MindMapView.ts - Mind map view → DOM image export: exports image
src/MindMapView.ts - Workspace commands → Translations: translates commands
src/main.ts - Settings panel → Plugin settings: configures
src/settingTab.ts - Workspace commands → Settings panel: registers settings
src/main.ts - Mind map view → Board synchronization: synchronizes boards
README.md - Obsidian user → Board synchronization: requests synchronization
README.md