Top
Best
New

Posted by jeremyh1 2 days ago

Show HN: Mmdr – 1000x faster Mermaid rendering in pure Rust (no browser)(github.com)
I was building a Rust-based agentic coding TUI and needed to render Mermaid diagrams. Noticed the official mermaid-cli spawns a full browser instance (Puppeteer/Chrome) just to render diagrams. Decided to fix this.

mmdr is a native Rust renderer. No browser, no Node.js.

  mermaid-cli:  ~3000ms per diagram
  mmdr:         ~3ms per diagram
Supports 13 diagram types: flowchart, sequence, class, state, ER, pie, gantt, timeline, journey, mindmap, git graph, XY chart, and quadrant.
46 points | 8 comments
tricked 1 day ago|
This is really neat, i wonder if this could be made into a typst plugin now so that you can create mermaid code blocks that turn into diagrams when rendered. The original mermaid can't be added to typst sadly but i bet this could.
jackothy 2 days ago||
Does it make sense to create a Wasm build of this for the browser? Or is the speedup mainly due to the browser spawning step rather than execution/rendering itself?
dzogchen 2 days ago|
I reckon the main speed up is from not having to launch a browser.
danhau 2 days ago||
Mermaid can also be used inside the browser directly, I believe. The WASM compiled Rust implementation could still outperform it.
jackothy 2 days ago||
Exactly, that's what I wanted to know. No other way to find out than to test, though. Don't know how easy it would be to wire it up.
letientai299 1 day ago||
Cool. I’ve just publish a tool md2cb to convert markdown to clipboard content (https://news.ycombinator.com/item?id=46896623) using mmdr internally. Totally unaware of this being posted just yesterday.
plankalkyl 2 days ago|
Could this be used as a drop-in replacement for mermaid-cli or is the CLI different?
vablings 1 day ago|
I will let you make that determination

https://github.com/mermaid-js/mermaid-cli/blob/f87dcd0c9049a...

https://github.com/1jehuang/mermaid-rs-renderer/blob/9d6790b...