2026-10-23 · Example

A Mermaid diagram gallery

Every diagram type Pele renders, from flowcharts to Wardley maps.

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 postSätteri pluginMermaid componentPele SVGStatic HTML
Build pipeline

Swimlane

The same build, split by who owns each step.

AstroWriteryesnoWrite a postReviewpreviewBuild siteDiagramvalid?

Sequence

A request for one diagram, from editor to browser.

pnpm buildrender(source)SVGstatic HTMLWriterAstroPeleWriterAstroPele

Class

The two pieces of the component boundary.

containsPost+String headline+Date publishDate+render()Mermaid+String chart+String caption

State

The lifecycle of a post.

submitapproverequest changesDraftReviewPublished

Entity relationship (ER)

The content collection, reduced to two tables.

containsPOSTstringidPKstringheadlinedatepublishDateDIAGRAMstringidPKstringchartstringcaption

Use case

What a writer and a reader can do.

«include»WriterReaderRead a postPublish a diagram

Gantt

A plausible two-week schedule for one post.

Publishing a postWriteReviewBuildDeploy2026-10-012026-10-032026-10-052026-10-072026-10-092026-10-11

Timeline

How the rendering approach changed.

Static diagramsPast2020Client-side MermaidPresent2026Build-time Pele

User journey

The experience of adding one diagram.

Publishing a diagram post54321WriteAdd a fenceWriterPreview locallyWriterShipRun the buildAstroRead the postReaderAstroReaderWriter

Kanban

A small editorial board.

Backlog2Write galleryCheck dark modeIn progress1Render diagramskepanoDone1Wire plugin

Quadrant chart

Where the heavier diagram types sit.

Diagram types by effort and payoffWorth itQuick winsSkipReconsiderLow effortHigh effortLow payoffHigh payoffFlowchartSequenceC4Wardley

Pie chart

A rough split of the gallery itself.

Diagram types in this gallery21%15%18%21%24%CorePlanningDataStructureSpecialised

XY chart

Invented line counts, for the shape of the chart.

Lines per diagram051015202530flowchartsequenceclassstateERpieLines

Radar

Pele against the reference implementation, on axes that matter here.

Renderer comparisonSpeedThemeSizeNo JSPeleMermaid

Treemap

Where a build’s time goes, roughly.

Build time100Astro40Pele35Content25

Sankey

Content flowing into output formats.

Posts → Diagram pages: 12Posts → Text only: 30Diagram pages → Inline SVG: 12Posts 42Diagram pages 12Text only 30Inline SVG 12

Packet

Not network traffic, but the same idea: fixed-width fields.

VersionFlagsLengthSourceDestination07815163132474863

Mindmap

The stack, from content to presentation.

ContentMDXMermaidBuildAstroPeleThemePaperInkStatic blog

Tree view

The files involved in this feature.

srccontentpostmermaid-galleryindex.mdxcomponentsMermaid.astropluginsmermaid.tspackage.json

Block

The pipeline again, as blocks rather than a graph.

MDXPluginSVG

Architecture

The build groups and the two services inside them.

BuildOutputAstroPeleHTML

C4

The same system at the context level.

Blog build«person»WriterWrites MDX posts«system»AstroBuilds the static site«system»PeleRenders Mermaid to SVGRuns pnpmbuildCalls render()

Requirement

One non-functional requirement, satisfied by the renderer.

«satisfies»«Requirement»static_svgID1TextDiagrams must be in the initial HTML.RiskMediumVerificationTest«Element»peleTyperenderer

Venn

Three properties this approach shares.

Static, themeable, fastStaticThemeableFastNo client JSCheapredrawsCached buildsPele

Git graph

A short feature branch, as one does.

mainpostinitdraftthememermaidmerge

Event modeling

The same build as events rather than calls.

UI/AutomationCommand/Read ModelEventsPostEditorPublishPostPublishedBuildSiteSiteDeployed

Cynefin

A deliberately loose classification of diagram choices.

Where diagrams fitComplexProbe → Sense → RespondEmergent PracticesWardley mapsComplicatedSense → Analyse → RespondGood PracticesArchitectureChaoticAct → Sense → RespondNovel PracticesIncident sketchesClearSense → Categorise → RespondBest PracticesFlowchartsConfusionDisorder

Wardley map

The pieces of this site, positioned by visibility and maturity.

Blog stackGenesisCustom BuiltProductCommodityEvolutionVisibilityReaderAstroPeleMermaid syntax

Ishikawa

Causes of a slow build, grouped the usual way.

ContentLarge MDX filesToo many diagramsRendererHeavy layoutMissing cacheToolingSlow CINo incremental buildSlow build

Railroad

The tiniest grammar for a diagram fence.

Pipeline grammarpipelinefencefencefence-opensourcefence-closesourcecharacter

Agentflow

A beta flow syntax for agent-style pipelines.

RenderIntakeRead fenceParseDraw 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.