Plota docs

13. Mermaid diagrams

Plota reads Mermaid source and turns it into a normal, editable drawing: real shapes, real connectors, frames for subgraphs. Once it is on the canvas it is yours to move, restyle and export like anything you drew by hand.

Bringing Mermaid in#

Any of these work, and all of them read the same way:

  • Paste — copy the Mermaid text (with or without a ```mermaid fence) and press Ctrl/⌘ V on the canvas. A paste merges into the current page.
  • Import — Import Diagram in the toolbar (Ctrl/⌘ O) and choose an .mmd / .mermaid file, or drop the file onto the canvas. Import asks whether to add the drawing to this page or open it as a new document.

A Mermaid flowchart pasted onto a new page
A Mermaid flowchart pasted onto a new page

The title in the front matter (title:) names the page, and the direction you wrote (flowchart LR, TD, …) is kept when you later run Tidy.

If something in the source could not be drawn exactly, the import summary says what and why — an unknown shape word, for example, becomes a process box and is named in the warning rather than passing silently.

The 13 supported types#

Each picture below is the editor's own export of a small chart of that type (drawn by the plota CLI, which uses the same exporter — see the CLI chapter).

TypeHeaderWhat you get
Flowchartflowchart / graphEvery Mermaid node shape, subgraphs as frames, link styles and labels
SequencesequenceDiagramLifelines, messages in rows, activations, notes, alt/opt/loop/par/break frames with their branches, autonumber
ClassclassDiagramClasses with their attributes and methods, inheritance, composition, aggregation, multiplicities
StatestateDiagram-v2States, start and end markers, composite states as frames
Entity relationshiperDiagramEntities with their attributes, crow's-foot ends
C4C4Context, C4Container, C4Component, C4Dynamic, C4DeploymentPeople, systems, containers, databases, boundaries
Architecturearchitecture-betaServices, groups and junctions
Blockblock-betaBlocks in their columns, including the cylinder and other block shapes
Git historygitGraphCommits in order, one lane per branch, merges
Mind mapmindmap (or an indented Markdown outline)A tree around the root
TimelinetimelinePeriods in order, with sections
User journeyjourneySections and steps, with who takes part and the score, coloured by score
RequirementrequirementDiagramRequirements and elements with their relationships
Flowchart: a stock check with yes and no branches
Flowchart: a stock check with yes and no branches
Sequence diagram: four lifelines, numbered messages, a note, an alt frame and a loop
Sequence diagram: four lifelines, numbered messages, a note, an alt frame and a loop
Class diagram: Dog and Cat inherit from Animal, which shows its attributes and method
Class diagram: Dog and Cat inherit from Animal, which shows its attributes and method
State diagram with a composite state drawn as a frame
State diagram with a composite state drawn as a frame
Entity relationship diagram with attributes and crow's-foot ends
Entity relationship diagram with attributes and crow's-foot ends
C4 container diagram: a customer, a boundary with a web app, single-page app and database, and an e-mail system
C4 container diagram: a customer, a boundary with a web app, single-page app and database, and an e-mail system
Architecture diagram: an API gateway, a Lambda inside a VPC group, DynamoDB and S3
Architecture diagram: an API gateway, a Lambda inside a VPC group, DynamoDB and S3
Block diagram
Block diagram
Git history: main and develop lanes with a merge
Git history: main and develop lanes with a merge
Mind map around a central topic
Mind map around a central topic
Timeline with sections
Timeline with sections
User journey: two sections of steps, each with its actors and a score out of 5
User journey: two sections of steps, each with its actors and a score out of 5
Requirement diagram: two requirements and an element with contains and satisfies links
Requirement diagram: two requirements and an element with contains and satisfies links

What is refused, and why#

Some Mermaid types are charts or grids rather than boxes and arrows. Drawing them as shapes would produce something that looks parsed but is not the chart you wrote, so Plota refuses them by name — the message says which type it saw and lists the ones it supports:

gantt, pie, quadrantChart, xychart / xychart-beta, sankey / sankey-beta, packet / packet-beta, kanban, radar-beta, treemap-beta and zenuml.

Text with no diagram keyword and no connector syntax is answered with "not Mermaid" rather than a guess.

Large charts: an overview and a page per section#

A flowchart with many sections gets hard to read as one drawing. When you paste or import a flowchart that has two or more subgraphs and is past 80 shapes or 100 connectors, Plota draws it as written and offers, in the status bar, to split it:

The split offer in the status bar after pasting an 84-shape chart with four sections
The split offer in the status bar after pasting an 84-shape chart with four sections

Split into overview + details adds an Overview page — one box per section, with how many shapes it holds and how the sections connect — and one page per section. Your original page is kept. Nothing is split until you click, and the split is one undo step. The same command is in the palette (Ctrl/⌘ K → "Split into overview + details") for any sectioned chart already on the canvas, and Go to linked page jumps from an overview box to its page.

The Overview page after the split: four section boxes, followed by one page per section in the page strip
The Overview page after the split: four section boxes, followed by one page per section in the page strip

The CLI (plota views, or plota render --views) and the MCP server (import_mermaid_views) produce the same overview and detail pages.

Icons and service tiles#

The Icons panel searches the bundled icon catalogue, including AWS, Azure and GCP service marks; drop one on the canvas or onto a shape. The bundled AWS three-tier web app template shows service tiles in use.

When a diagram is built through the MCP server, icons are applied for you: a node whose caption names a cloud service (CloudFront, Lambda, DynamoDB, …) becomes that service's tile, and a caption naming another product or technology gets its icon beside the label. Mermaid's own id@{ icon: "aws:lambda" } syntax is honoured there too. Pass icons: false to turn this off. Pasting Mermaid into the editor keeps plain shapes.

Notes#

A long note does not belong inside a box. Sequence, class and state notes are drawn where Mermaid puts them, and flowchart comments such as %% cost db [$1.2k/mo]: Aurora Multi-AZ become numbered notes with a badge. Through the MCP server, give a node a note (or a list of notes) and it is shown as a numbered marker on the shape with the full text in the notes panel; the viewer lists every note on the page. See Notes and badges.

The MCP viewer showing a cloud diagram with service tiles and two numbered note badges
The MCP viewer showing a cloud diagram with service tiles and two numbered note badges

Everything in Plota runs in your browser — no account, no server, no telemetry.