Skip to content

kvaps/stackmind

Repository files navigation

StackMind

StackMind

Markdown editor with a live mindmap preview. Edit on either side — they stay in sync.

Live demo →

StackMind screenshot

Highlights

  • Bidirectional sync between a CodeMirror 6 markdown editor and a mind-elixir mindmap.
  • Surgical markdown edits — operations from the mindmap (rename, add, remove, move, fold) translate to minimal line patches via markmap-lib source maps, preserving frontmatter, inline formatting, code blocks, tables and images that surround edited nodes.
  • markmap format: headings, lists, multi-line items, fold comments (<!-- markmap: fold -->), checkboxes, links, frontmatter.
  • Hierarchical arrow navigation with spatial fallback and per-parent last-child memory.
  • Light / dark / auto theme kept in sync across editor, mindmap and chrome.
  • Resizable split view with persisted ratio, three view modes, full document persisted in localStorage.

Hotkeys (inside the mindmap)

Key Action
Tab Add child
Shift + Tab Insert sibling before
Enter Insert sibling after
Shift + Enter Insert parent
Backspace Edit current node
Shift + Backspace Delete node
Letter / digit Replace text and start editing
Esc Cancel edit
Space Collapse / expand
Arrows Navigate (siblings first, then nearest spatially)
Cmd/Ctrl + Arrows Move the node itself
Cmd/Ctrl + Z / Shift + Z Undo / redo
F1 Fit map to view

Quick start

pnpm install
pnpm dev

Opens on http://localhost:5174/. Production build with pnpm build.

Stack

  • Vue 3 + Vite + TypeScript
  • Pinia for state and persistence
  • CodeMirror 6 (@codemirror/lang-markdown, @codemirror/theme-one-dark)
  • mind-elixir for the mindmap canvas
  • markmap-lib (with pluginSourceLines) for parsing markdown with accurate line ranges
  • markdown-it for syntax highlighting and tokens

License

MIT

Releases

No releases published

Packages

 
 
 

Contributors