Mermaid
The Mermaid plugin renders diagrams and flowcharts from Mermaid syntax.
Installation
Section titled “Installation”pnpm add @teamflojo/floimg-mermaidRegistration
Section titled “Registration”import createClient from '@teamflojo/floimg';import mermaid from '@teamflojo/floimg-mermaid';
const floimg = createClient();floimg.registerGenerator(mermaid());const diagram = await floimg.generate({ generator: 'mermaid', params: { code: ` graph TD A[Start] --> B{Decision} B -->|Yes| C[Action 1] B -->|No| D[Action 2] C --> E[End] D --> E ` }});Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
code | string | Yes | Mermaid diagram definition |
theme | string | No | Theme: ‘default’, ‘dark’, ‘forest’, ‘neutral’ |
backgroundColor | string | No | Background color (default: white) |
width | number | No | Max width in pixels |
Diagram Types
Section titled “Diagram Types”Flowchart
Section titled “Flowchart”await floimg.generate({ generator: 'mermaid', params: { code: ` flowchart LR A[Input] --> B[Process] B --> C[Output] ` }});Sequence Diagram
Section titled “Sequence Diagram”await floimg.generate({ generator: 'mermaid', params: { code: ` sequenceDiagram participant Client participant Server participant Database
Client->>Server: Request Server->>Database: Query Database-->>Server: Results Server-->>Client: Response ` }});Class Diagram
Section titled “Class Diagram”await floimg.generate({ generator: 'mermaid', params: { code: ` classDiagram class Animal { +name: string +age: int +makeSound() } class Dog { +breed: string +bark() } Animal <|-- Dog ` }});State Diagram
Section titled “State Diagram”await floimg.generate({ generator: 'mermaid', params: { code: ` stateDiagram-v2 [*] --> Idle Idle --> Processing: Start Processing --> Complete: Success Processing --> Error: Failure Complete --> [*] Error --> Idle: Retry ` }});Entity Relationship Diagram
Section titled “Entity Relationship Diagram”await floimg.generate({ generator: 'mermaid', params: { code: ` erDiagram USER ||--o{ ORDER : places ORDER ||--|{ LINE_ITEM : contains PRODUCT ||--o{ LINE_ITEM : "ordered in" ` }});Gantt Chart
Section titled “Gantt Chart”await floimg.generate({ generator: 'mermaid', params: { code: ` gantt title Project Timeline dateFormat YYYY-MM-DD section Phase 1 Design :a1, 2024-01-01, 30d Development :a2, after a1, 60d section Phase 2 Testing :a3, after a2, 20d Launch :a4, after a3, 10d ` }});Pie Chart
Section titled “Pie Chart”await floimg.generate({ generator: 'mermaid', params: { code: ` pie title Browser Market Share "Chrome" : 65 "Safari" : 19 "Firefox" : 10 "Other" : 6 ` }});Themes
Section titled “Themes”// Dark themeawait floimg.generate({ generator: 'mermaid', params: { code: `graph TD; A-->B;`, theme: 'dark' }});
// Forest themeawait floimg.generate({ generator: 'mermaid', params: { code: `graph TD; A-->B;`, theme: 'forest' }});See Also
Section titled “See Also”- Generate - Core generation method
- QuickChart - Data charts
- D3 - Custom visualizations
Want to experiment visually? Try Mermaid in floimg-studio →