Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Mmdr – 1000x faster Mermaid rendering in pure Rust (no browser) (github.com/1jehuang)
36 points by jeremyh1 1 day ago | hide | past | favorite | 8 comments
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.




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.

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.

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?

I reckon the main speed up is from not having to launch a browser.

Mermaid can also be used inside the browser directly, I believe. The WASM compiled Rust implementation could still outperform it.

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.

Could this be used as a drop-in replacement for mermaid-cli or is the CLI different?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: