Diagrams from fenced code blocks
A fence in any of 27 Kroki languages is rewritten into a rendered SVG image: blockdiag, bpmn, bytefield, seqdiag, actdiag, nwdiag, packetdiag, rackdiag, c4plantuml, d2, dbml, ditaa, erd, excalidraw, graphviz, mermaid, nomnoml, pikchr, plantuml, structurizr, svgbob, umlet, tikz, vega, vegalite, wavedrom, wireviz. Mermaid C4 syntax (C4Context / C4Container / C4Component / C4Dynamic) is silently converted to c4plantuml with the matching !include lines.
#Where you do it

Task | Where |
|---|---|
Publish markdown to a static site | Capable Sites (Suite or the Sites app) |
Export a page containing markdown to Word or PDF | Confluence page → Export |
Control who can edit shared markdown templates | Capable global settings → Permissions tab |
#Settings that affect this
Setting | Where | What it does |
|---|---|---|
Global settings → Permissions | - | Controls edit access to the GLOBAL asset store. Which is what governs who may create Global markdown templates. It is shared with diagrams, images, calendar and search because they all use one Confluence custom content t |
#Worth knowing

Diagrams are rendered server-side by Kroki as static SVG, not by mermaid.js in the browser, so mermaid syntax newer than Kroki's pinned version can fail; mermaid C4 is silently rewritten to PlantUML C4.
On a published Capable Site markdown is re-rendered by a different engine, so the static page can differ visibly from the Confluence page, and diagram fences become code blocks.
#Related
How it actually behaves.
