Level Colors for MarkMind

by sdesolator
5
4
3
2
1
Score: 50/100

Description

A lazy coloring plugin for MarkMind. !!! Unofficial !!!

Reviews

No reviews yet.

Stats

0
stars
82
downloads
0
forks
29
days
29
days
29
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
9
commits

Latest Version

a month ago

Changelog

Increase color categories to 24 colors and loop when branch depth larger than 24 level.

README file from

Github

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:

  1. Finds the rendered MarkMind Basic tree.
  2. Reconstructs the parent/child graph from branch connections.
  3. Orients the graph from the root.
  4. Traverses the tree in branch-render order.
  5. Calculates hierarchy depth.
  6. Assigns a data-lcfm-level marker to each node, branch and underline.
  7. Lets styles.css handle 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.