by sdesolator
Automatically colours MarkMind Basic nodes and branches by hierarchy level.
Level Colors for MarkMind
A tiny, lazy companion plugin for Obsidian that automatically colours MarkMind Basic mind maps by hierarchy level.
It is intentionally narrow in scope: install it, enable it, and let it assign colours to nodes and branches based on their level in the tree.
[!NOTE] Unofficial companion plugin. This project is not affiliated with or endorsed by MarkMind or Obsidian.
MarkMind must be installed separately. This plugin does not include, redistribute, unlock, or modify MarkMind source code or paid features.
What it does
- Automatically colours MarkMind Basic nodes by hierarchy level.
- Uses a 24-colour palette that repeats for deeper levels instead of capping at grey.
- Adapts the palette to Obsidian's light/dark mode: soft bright colours on dark backgrounds, with matching darker hues on light backgrounds. Colours prioritise readability before separation between levels.
- Colours branch curves to match the corresponding hierarchy level.
- Colours MarkMind's underline segments using logical tree traversal.
- Re-applies colours after relevant layout or render changes.
- Does not modify note contents.
- Uses CSS for all visual styling; runtime code only assigns structural level markers.
- Intended to support desktop and mobile Obsidian.
The plugin does not try to be a full styling system or theme editor. It is a small automatic level-colouring helper.
How it works
MarkMind Basic renders a tree as node elements plus SVG branch elements.
Level Colors for MarkMind:
- Finds the rendered MarkMind Basic tree.
- Reconstructs the parent/child graph from branch connections.
- Orients the graph from the root.
- Traverses the tree in branch-render order.
- Calculates hierarchy depth.
- Assigns a
data-lcfm-levelmarker to each node, branch and underline. - Lets
styles.csshandle all colours.
Underline assignment uses the logical traversal sequence rather than node text or screen-row matching.
Manual installation
Copy these three release files into:
.obsidian/plugins/level-colors-for-markmind/
Files:
main.js
manifest.json
styles.css
Reload Obsidian and enable Level Colors for MarkMind under Community plugins.
Development
Requirements:
- Node.js 18 or newer
- npm
Install dependencies:
npm install
Development build:
npm run dev
Production build:
npm run build
Lint:
npm run lint
The production build writes main.js in the repository root. main.js is ignored by Git and should be attached to the corresponding GitHub Release instead.
Release files
Each GitHub Release should contain:
main.js
manifest.json
styles.css
The release tag must match the version in manifest.json, without a v prefix.
Compatibility
- Target: MarkMind Basic mode
- MarkMind Rich mode: not supported or tested
- Desktop: supported
- Mobile / Android: intended to be supported
- Minimum Obsidian version: see
manifest.json
This plugin depends on MarkMind Basic's rendered DOM/SVG structure. A future MarkMind update may require compatibility changes.
Privacy
This plugin does not make network requests, collect analytics, or transmit note contents.
It only inspects the currently rendered MarkMind view and assigns local DOM level markers used by the bundled stylesheet.
Development note
This plugin was vibe-coded with ChatGPT, then refined through iterative manual testing and debugging against MarkMind Basic.
Maintained by SDesolator.
License
MIT. See LICENSE.
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.