Mermaid
Render Mermaid diagrams using Mermaid.js on the client.
Quick Start
Mermaid requires the Mermaid.js runtime. Include it once:
from fasthtml.common import Script
from faststrap import Mermaid
Script(src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js")
Mermaid("""
graph TD
A[Start] --> B{Decision}
B -->|Yes| C[Ship]
B -->|No| D[Revise]
""")
Theme and Security
Mermaid(
"""
sequenceDiagram
client->>server: request
server-->>client: response
""",
theme="dark",
security_level="strict",
)
Mermaid config is global. If you need custom config, initialize Mermaid manually before rendering.
Layout Control
HTMX Support
Faststrap re-initializes Mermaid diagrams after HTMX swaps when Mermaid.js is available.
Security Notes
Only render trusted diagrams when using relaxed security settings. Keep security_level="strict" for untrusted input.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
diagram |
str |
required | Mermaid diagram text. |
theme |
str \| None |
UNSET |
Mermaid theme metadata for runtime initialization. |
security_level |
str \| None |
UNSET |
Mermaid security level metadata. |
min_width |
str \| int \| None |
None |
Minimum width. Integers become pixel values. |
**kwargs |
Any |
Extra wrapper attributes. |
API Reference
faststrap.components.display.mermaid.Mermaid(diagram, *, theme=UNSET, security_level=UNSET, min_width=None, **kwargs)
Render Mermaid diagram text inside a Mermaid container.