An interactive, hierarchical mind map application for visualizing markdown as beautiful, clickable card-based layouts. Built with TypeScript, D3.js, and following the markmap architecture.
- ✅ Markdown to Mind Map: Automatically parse markdown headings into hierarchical tree structures
- ✅ Interactive Cards: Click to expand/collapse, double-click to edit inline
- ✅ Hierarchical Layout: Clean, indented card-based layout (not traditional tree view)
- ✅ Real-time Editing: Edit titles and descriptions directly in the mind map
- ✅ Add/Remove Nodes: Add sibling or child cards, delete nodes
- ⏳ Color Customization: Pick colors and stroke weights for individual cards (in progress)
- Beautiful, modern interface matching reference design
- Hover toolbars with action buttons
- Document view modal for full markdown display
- Responsive layout with sidebar navigation
ultimate-mindmap/
├── src/
│ ├── types/ # TypeScript type definitions
│ │ └── index.ts # MindMapNode, AppState, etc.
│ ├── core/ # Core logic
│ │ ├── parser.ts # Markdown parser and tree operations
│ │ └── renderer.ts # DOM rendering engine
│ ├── styles/ # CSS styles
│ │ └── main.css # Main stylesheet (exact UI match)
│ └── main.ts # Application entry point
├── index.html # HTML shell
├── vite.config.ts # Vite configuration
├── tsconfig.json # TypeScript configuration
├── uno.config.ts # UnoCSS configuration
└── package.json # Dependencies
- Node.js >= 18.0.0
- pnpm >= 8.0.0 (recommended)
- Install dependencies:
pnpm install- Start development server:
pnpm dev- Open browser to
http://localhost:3000
pnpm buildThe application automatically parses markdown with heading hierarchy:
# Level 1 Heading
Description or content for level 1.
## Level 2 Heading
Content for level 2.
### Level 3 Heading
Deeper nesting.This creates a hierarchical structure:
- Level 1 (root node)
- Level 2 (child of Level 1)
- Level 3 (child of Level 2)
- Level 2 (child of Level 1)
- Expand/Collapse: Click the count badge or expand button to show/hide children
- Edit Inline: Double-click any title or description to edit
- Add Nodes: Hover over a card to show the toolbar, click "+" to add siblings or children
- Change Colors: Click the color icon in toolbar to open color picker
- Trace Back: Click "Trace Back to Origin" to highlight source text
- Ask AI: Click "Ask AI" to query about the node content
Enter: Save inline editEscape: Cancel inline edit
- Converts markdown headings into tree structure
- Handles CRUD operations on nodes (create, read, update, delete)
- Serializes tree back to markdown
- Uses markdown-it for robust parsing
- Renders nodes as HTML cards in the DOM
- Manages event handlers and user interactions
- Handles inline editing and node updates
- Implements the card-based visual layout
- Coordinates parser and renderer
- Manages application state
- Handles modals and panels
- Integrates with future AI skill interface
- Primary: #7C3AED (purple)
- Card Background: #FFFFFF
- Border: #E5E7EB (light gray)
- Text: #111827 (dark gray)
- Hover: #F3F4F6
- Font Family: Inter, SF Pro Text, system fonts
- Heading: 16px, 600 weight
- Body: 14px, 400 weight
- Card Padding: 16px
- Card Gap: 12px vertical
- Indent: 24px per level
- Border Radius: 8px
- Refine hover toolbar animations
- Smooth expand/collapse transitions
- Drag-and-drop reordering
- PDF.js integration for PDF viewing
- Text highlighting and search
- Multi-format source support
- Complete color picker implementation
- Stroke weight selector
- Custom themes
- Upload PDFs, documents, text files
- Parse and analyze content
- Generate mind maps automatically
- Claude Code skill interface
- AI-powered mind map generation
- Context-aware node expansion
- Match UI 100% to reference screenshots
- Performance optimization
- Accessibility improvements
- Comprehensive user guide
- API documentation
- Unit and integration tests
- TypeScript: Type-safe development
- Vite: Lightning-fast build tool
- UnoCSS: Atomic CSS framework
- D3.js: Tree data structures and hierarchy
- Markdown-it: Markdown parsing
- PDF.js: PDF rendering (planned)
This is a personal project for creating an interactive mind map skill. Contributions welcome!
MIT
- Inspired by markmap
- UI design reference from Ponder app
- Built for use as a Claude Code skill
Status: Early development ⚡
Development server running at: http://localhost:3000