Mindvas

pending

by mobench

Turn Canvas into a powerful mind mapping tool with keyboard shortcuts, auto-layout, and branch coloring.

12 starsUpdated 10d agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

README

Mindvas Banner

Transform Obsidian Canvas into a powerful mind mapping tool.

License: MIT Version Obsidian Docs


✨ Features

  • Keyboard-driven editing — Add, delete, and navigate nodes entirely from the keyboard
  • Auto-layout — Contour-based tree layout packs nodes tightly with left/right branch support
  • Map outline — Sidebar panel with groups, search, drag-and-drop, inline rename, and bidirectional highlight sync
  • Node referencing — Copy clickable links to any node; paste in notes or other canvases for instant navigation
  • Insert between nodes — Alt+click a connection point to insert a new node between parent and child
  • Forest layout — Arrange multiple trees within a group into a clean grid
  • Branch coloring — Each top-level branch gets a distinct color automatically
  • Subtree drag — Dragging a node moves its entire subtree; hold Alt to move a single node
  • Auto-resize — Nodes resize to fit their content as you type
  • FreeMind import — Import .mm files directly into Canvas
  • Non-Latin keyboard support — Physical key fallback for Arabic, Hebrew, Cyrillic, and other layouts

🚀 Quick Start

  1. Install the plugin and open any Canvas
  2. Click the brain icon in the canvas toolbar to enable mindmap mode
  3. Create a text node — this is your root
  4. Use the command palette (Ctrl/Cmd+P) to add child nodes, siblings, navigate, and more
  5. Assign your own hotkeys in Settings > Hotkeys for faster workflow
  6. The Map outline panel appears in the right sidebar for navigation

📦 Installation

Community Plugins

  1. Open Settings > Community plugins
  2. Search for Mindvas
  3. Click Install, then Enable
Manual installation
  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create a folder mindvas in your vault's .obsidian/plugins/ directory
  3. Copy the downloaded files into that folder
  4. Enable the plugin in Settings > Community plugins

⌨️ Commands

All commands are available from the command palette (Ctrl/Cmd+P). Assign your own hotkeys in Settings > Hotkeys.

CommandDescription
Edit selected nodeStart editing the selected node
Add child nodeCreate a new child node (selected text moves to child)
Add sibling nodeCreate a sibling node below the current one
Delete node and focus parentRemove the current node and select its parent
Flip branch to other sideMove a branch to the opposite side of its parent
Toggle balanced layoutDistribute children evenly on both sides, or collapse to one side
Navigate right/left/up/downMove selection spatially through the tree
Re-layout mind mapRecalculate and apply layout to the entire canvas
Layout forestArrange trees within the selected group into a grid
Detach subtreeDisconnect a branch into an independent tree
Resize & re-layout subtreeResize nodes in the subtree to fit content and re-layout
Resize all nodes to fit contentResize every node in the canvas to fit its content
Apply branch colorsManually trigger branch color assignment
Toggle mindmap modeEnable or disable mindmap mode for the current canvas
Import FreeMind fileImport a .mm mind map file into the current canvas

🖱️ Mouse Actions

ActionResult
Alt+click connection pointInsert a new node between parent and child
Alt+click a nodeSelect the entire tree
Ctrl+click a nodeZoom to fit the branch
Right-click a nodeCopy node link (for cross-canvas referencing)
Right-click a groupLayout forest, copy group link
Settings
SettingDescriptionDefault
Default mindmap modeWhether canvases open in mindmap mode by defaultOn
Auto-layoutAutomatically arrange nodes after adding/deletingOn
Auto-color branchesAssign distinct colors to top-level branchesOn
Horizontal gapSpace between parent and child nodes (px)80
Vertical gapSpace between sibling nodes (px)20
Default node widthWidth of newly created nodes (px)300
Default node heightHeight of newly created nodes (px)60
Max node heightMaximum height before a node scrolls (px)300
Navigation zoom paddingExtra space around the target node when zooming (px)200

📖 Documentation

Find the documentation here.

🤝 Contributing

Found a bug or have a feature request? Open an issue.

💜 Support

If you find this plugin useful, you can support me here 😊.

📄 License

MIT


[!NOTE] This plugin is desktop-only (Canvas is a desktop feature). It does not make network requests, collect telemetry, or access files outside your vault.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.