Template:Diagram

Revision as of 05:09, 11 September 2026 by Hash (talk | contribs) (Wrapper so diagrams can be inserted and repointed from the visual editor: the page name becomes a parameter rather than a parser-function target)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Embeds a diagram that lives on its own page in one of the five diagram namespaces, so it can be inserted and repointed from the visual editor.

Usage: {{Diagram|page=Mermaid:RE FlowChart Overview}}

The page parameter is the full page name of the diagram, including its namespace prefix — Mermaid:, DOT:, Drawio:, BPMN: or Gantt:. See Help:Diagrams.

This template wraps the {{#display_diagram:}} parser function. The wrapper exists so the diagram name is a parameter: the visual editor can insert and change parameters, but has no way to edit a parser function's target, so a bare {{#display_diagram:}} call can only be changed by editing the page source. Bare calls still work and still render — prefer this template for anything new.

The {{#if:}} guard below is load-bearing: FDDisplayDiagram::run() passes its argument to Title::newFromText() and calls ->exists() on the result without a null check, so an empty page would throw a fatal error rather than render nothing.

Embed a diagram from the Mermaid, DOT, Drawio, BPMN or Gantt namespace.

Template parameters[Edit template data]

This template prefers inline formatting of parameters.

ParameterDescriptionTypeStatus
Diagram pagepage

Full page name of the diagram, including the namespace prefix, e.g. Mermaid:RE FlowChart Overview

Example
Mermaid:RE FlowChart Overview
Page namerequired