Tracking Issue: Markmap Next Architecture · Issue #357 · markmap/markmap · GitHub
Skip to content

Tracking Issue: Markmap Next Architecture #357

Description

@gera2ld

This issue tracks the high-level plan to decouple Markmap from the browser DOM and shift its core architecture.

Current Situation & Pain Points

  • Environment Lock-in: The core layout engine is tightly coupled with the browser DOM and <foreignObject>, making it impossible to run natively in Node.js, CLI tools, or SSR.
  • Rendering Issues: <foreignObject> introduces inconsistent sizing and rendering bugs across different browser engines (especially Safari).
  • Parser Limits: markdown-it is optimized for HTML string generation rather than manipulating a structured syntax tree for node layouts.

Future Improvements

  1. Markdown as a DSL: Shift the goal from "rendering a full Markdown document" to "using Markdown syntax as a lightweight DSL to quickly structure and draw a mindmap."
  2. Pure SVG Core: Remove all DOM and HTML-specific dependencies. The core will focus purely on tree layout and standard SVG rendering.
  3. Plugin Architecture: Move heavy or advanced features (HTML nodes, MathJax/KaTeX) out of the core and into optional plugins.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions