Every diagram below is written as a plain fenced code block in this MDX file. A
Sätteri plugin turns the fence into a component, Pele renders it to SVG during
astro build, and the result is inlined into the HTML. There is no client-side
JavaScript, and the colors come from the same CSS variables that flip when you
switch to dark mode.
Core
Planning
Data and charts
Structure
Specialised
Flowchart
The pipeline this post goes through.
MDX post Sätteri plugin Mermaid component Pele SVG Static HTML Build pipeline
Swimlane
The same build, split by who owns each step.
Astro Writer yes no Write a post Review preview Build site Diagram valid?
Sequence
A request for one diagram, from editor to browser.
pnpm build render(source) SVG static HTML Writer Astro Pele
Class
The two pieces of the component boundary.
contains Post +String headline +Date publishDate +render() Mermaid +String chart +String caption
State
The lifecycle of a post.
submit approve request changes Draft Review Published
Entity relationship (ER)
The content collection, reduced to two tables.
contains POST string id PK string headline date publishDate DIAGRAM string id PK string chart string caption
Use case
What a writer and a reader can do.
«include» Writer Reader Read a post Publish a diagram
Gantt
A plausible two-week schedule for one post.
Publishing a post Write Review Build Deploy Draft Publish 2026-10-01 2026-10-03 2026-10-05 2026-10-07 2026-10-09 2026-10-11
Timeline
How the rendering approach changed.
Static diagrams Past 2020 Client-side Mermaid Present 2026 Build-time Pele
User journey
The experience of adding one diagram.
Publishing a diagram post 5 4 3 2 1 Write Add a fence Writer Preview locally Writer Ship Run the build Astro Read the post Reader Astro Reader Writer
Kanban
A small editorial board.
Backlog 2 Write gallery Check dark mode In progress 1 Render diagrams kepano Done 1 Wire plugin
Quadrant chart
Where the heavier diagram types sit.
Diagram types by effort and payoff Worth it Quick wins Skip Reconsider Low effort High effort Low payoff High payoff Flowchart Sequence C4 Wardley
Pie chart
A rough split of the gallery itself.
Diagram types in this gallery 21% 15% 18% 21% 24% Core Planning Data Structure Specialised
XY chart
Invented line counts, for the shape of the chart.
Lines per diagram 0 5 10 15 20 25 30 flowchart sequence class state ER pie Lines
Radar
Pele against the reference implementation, on axes that matter here.
Renderer comparison Speed Theme Size No JS Pele Mermaid
Treemap
Where a build’s time goes, roughly.
Build time 100 Astro 40 Pele 35 Content 25
Sankey
Content flowing into output formats.
Posts → Diagram pages: 12 Posts → Text only: 30 Diagram pages → Inline SVG: 12 Posts 42 Diagram pages 12 Text only 30 Inline SVG 12
Packet
Not network traffic, but the same idea: fixed-width fields.
Version Flags Length Source Destination 0 7 8 15 16 31 32 47 48 63
Mindmap
The stack, from content to presentation.
Content MDX Mermaid Build Astro Pele Theme Paper Ink Static blog
Tree view
The files involved in this feature.
src content post mermaid-gallery index.mdx components Mermaid.astro plugins mermaid.ts package.json
Block
The pipeline again, as blocks rather than a graph.
Architecture
The build groups and the two services inside them.
C4
The same system at the context level.
Blog build «person» Writer Writes MDX posts «system» Astro Builds the static site «system» Pele Renders Mermaid to SVG Runs pnpm build Calls render()
Requirement
One non-functional requirement, satisfied by the renderer.
«satisfies» «Requirement» static_svg ID 1 Text Diagrams must be in the initial HTML. Risk Medium Verification Test «Element» pele Type renderer
Venn
Three properties this approach shares.
Static, themeable, fast Static Themeable Fast No client JS Cheap redraws Cached builds Pele
Git graph
A short feature branch, as one does.
main post init draft theme mermaid merge
Event modeling
The same build as events rather than calls.
UI/Automation Command/Read Model Events PostEditor Publish PostPublished BuildSite SiteDeployed
Cynefin
A deliberately loose classification of diagram choices.
Where diagrams fit Complex Probe → Sense → Respond Emergent Practices Wardley maps Complicated Sense → Analyse → Respond Good Practices Architecture Chaotic Act → Sense → Respond Novel Practices Incident sketches Clear Sense → Categorise → Respond Best Practices Flowcharts Confusion Disorder
Wardley map
The pieces of this site, positioned by visibility and maturity.
Blog stack Genesis Custom Built Product Commodity Evolution Visibility Reader Astro Pele Mermaid syntax
Ishikawa
Causes of a slow build, grouped the usual way.
Content Large MDX files Too many diagrams Renderer Heavy layout Missing cache Tooling Slow CI No incremental build Slow build
Railroad
The tiniest grammar for a diagram fence.
Pipeline grammar pipeline fence fence fence-open source fence-close source character
Agentflow
A beta flow syntax for agent-style pipelines.
Render Intake Read fence Parse Draw SVG
Info
The smallest supported diagram: renderer information.
Pele v1.9.0
External Mermaid plugins such as ZenUML are not supported by Pele. See its
compatibility notes for the full list and the
differences from the reference implementation.