termaid
2026-07-21Terminal Mermaid rendering for OCaml.
Render Mermaid diagrams as Unicode box-drawing art, suitable for a terminal.
termaid parses Mermaid diagram syntax and lays it out as Unicode box-drawing art, suitable for a terminal, without a TUI framework dependency. It's an OCaml port of the Rust renderer from xai-org/grok-build.
termaid <<'EOF'
flowchart TD
Src[Mermaid text] --> R{render}
R -->|recognized| P[parse]
R -->|no match| F[fallback]
P --> L[layout]
L --> Cv[canvas]
Cv --> Art[box art]
F --> Art
EOF
renders as:
┌──────────────┐
│ Mermaid text │
└───────┬──────┘
│
▼
╭────────╮
│ render │
╰────┬───╯
┌─────┴──────┐
▼recognized ▼no match
┌───────┐ ┌──────────┐
│ parse │ │ fallback ├─────┐
└───┬───┘ └──────────┘ │
└─────┐ │
▼ │
┌────────┐ │
│ layout │ │
└────┬───┘ │
│ │
▼ │
┌────────┐ │
│ canvas │ │
└────┬───┘ │
│ │
▼ │
┌─────────┐ │
│ box art │◄───────────┘
└─────────┘
Terminal Mermaid rendering for OCaml.