Ondine
Mermaid diagrams, compiled with Rust
Overview · Agent Prompt · Philosophy · Features · Documentation · Guides · API Reference
Overview
sequenceDiagram
participant Browser
participant Server
participant Database
Browser->>Server: GET /orders
Server->>Database: SELECT * FROM orders
Database-->>Server: rows
alt cached
Server-->>Browser: 304 Not Modified
else fresh
Server-->>Browser: 200 OK
end
Agent Prompt
Paste this prompt into a coding agent:
Read github.com/wevm/ondine and help me render my Mermaid diagrams with Ondine.
Philosophy
- Compiled. Diagrams compile ahead of time, so pages ship SVG instead of a renderer.
- Compatible. Every diagram accepts the same input as Mermaid.
- Precise. Square outlines and rounded orthogonal edges.
- Small. A 210-byte runtime (gzip) mounts precompiled diagrams.
Features
- Vite Plugin:
.mmdimports compiled to SVG at build time. - CLI: the
ondinecommand compiles diagrams from files or standard input. - Node Compiler:
ondine/compilerrenders source to SVG in scripts and servers. - Markdown and MDX:
ondine/remarkreplaces```mermaidfences with compiled SVG. - In-Browser Compilation: opt-in
ondine/compiler/wasmmodules, one per diagram type orall. - GitHub Images: an image Worker renders diagrams encoded in a URL for READMEs.
- Theming:
--ondine-*CSS custom properties switch schemes without compiling again. - Mounting:
mountinserts precompiled SVG without downloading a parser or layout code.
Documentation
Head to the documentation to get started and learn more about Ondine. Every diagram type has a page with its syntax and rendered examples.
Benchmarks
See Benchmarks for measured module sizes and render times.