Help:Diagrams: Difference between revisions
How to create and embed diagrams (Flex Diagrams) |
Fix wrapped list items rendering as preformatted blocks |
||
| Line 110: | Line 110: | ||
== Tips == | == Tips == | ||
* Diagrams are ordinary pages: <code>History</code>, <code>Talk</code>, watchlisting and | * Diagrams are ordinary pages: <code>History</code>, <code>Talk</code>, watchlisting and the normal backups all apply. | ||
* Because Mermaid and DOT are text, their page histories produce readable diffs — prefer them over an uploaded image when the diagram is likely to change. | |||
* Because Mermaid and DOT are text, their page histories produce readable diffs — prefer | * In a '''BPMN''' diagram, an element named <code><nowiki>[[Some page]]</nowiki></code> becomes a link to that wiki page. | ||
* Give diagrams descriptive names, the same as files — <code>Mermaid:Landis Gyr Focus teardown steps</code> beats <code>Mermaid:Diagram 3</code>. | |||
* In a '''BPMN''' diagram, an element named <code><nowiki>[[Some page]]</nowiki></code> | |||
* Give diagrams descriptive names, the same as files — | |||
== See also == | == See also == | ||
* [[Help:Uploading files]] — for photographs, scans and CAD files | * [[Help:Uploading files]] — for photographs, scans and CAD files | ||
* [https://www.mediawiki.org/wiki/Extension:Flex_Diagrams Extension:Flex Diagrams] — the | * [https://www.mediawiki.org/wiki/Extension:Flex_Diagrams Extension:Flex Diagrams] — the extension providing this | ||
Revision as of 00:21, 9 September 2026
This wiki can store diagrams as diagrams rather than as uploaded pictures. A diagram lives on its own page, keeps a full edit history like any other page, and can be re-opened and changed by the next person — no hunting for the original file, and no re-uploading a flat image every time something moves.
You need to be logged in and in the writer group to create or change a diagram. Anyone can view them.
The five formats
Each format has its own namespace, and each has its own editor.
| Namespace | Best for | How you edit it |
|---|---|---|
| Mermaid: | Flowcharts, sequence diagrams, state machines, ER diagrams, timelines | Text — you write a few lines of Mermaid syntax |
| DOT: | Graphs and trees: signal chains, network maps, workflows | Text — Graphviz DOT syntax |
| Drawio: | Free-form drawings, block diagrams, anything you want to drag around | Full visual editor (draw.io / diagrams.net) |
| BPMN: | Formal business-process diagrams | Visual editor |
| Gantt: | Project schedules with dependencies | Visual editor |
Mermaid and DOT are the two most useful here for typical hardware, RF and reverse-engineering documentation, and they are the easiest to review in a diff because the source is plain text.
Creating a diagram
The easiest way is to write a red link and click it:
- On any page, add a link in a diagram namespace, for example
[[Mermaid:Meter capture chain]]. - Save, then click the new red link.
- The diagram editor opens directly. Fill it in and save.
You can also go straight to the editor for a page that does not exist yet by visiting
its URL with ?action=editdiagram on the end.
On a diagram page that already exists, use the Edit diagram tab at the top.
Showing a diagram on another page
Diagram pages are not transcluded with the usual double braces. Use the
#display_diagram parser function instead:
{{#display_diagram:Mermaid:Meter capture chain}}
That renders the diagram inline wherever you put it, so an article can show a diagram that is maintained on its own page.
Mermaid example
The source of Mermaid:Example diagram is simply:
flowchart LR
A[Smart meter] -->|900 MHz| B(SDR capture)
B --> C{Decodes?}
C -->|yes| D[rtlamr output]
C -->|no| E[Adjust gain / freq]
E --> B
which renders as:
Mermaid supports far more than flowcharts — sequence diagrams, state diagrams, class diagrams, ER diagrams, pie charts, timelines and Gantt charts are all available. See the Mermaid documentation for the full syntax. Note that this wiki bundles Mermaid 10.9, so diagram types added in Mermaid 11 will not render.
DOT example
DOT:Example diagram contains:
digraph FlashExtraction {
rankdir=LR;
node [shape=box];
"Target PCB" -> "Desolder chip";
"Desolder chip" -> "Socket adapter";
"Socket adapter" -> "Programmer";
"Programmer" -> "Binary dump";
"Binary dump" -> "Analysis";
}
giving:
DOT is good when you want the layout worked out for you — you describe what connects to what, and Graphviz arranges it.
A note on Drawio
The Drawio: editor is the full diagrams.net drawing tool, loaded from the external
site embed.diagrams.net while you are editing. Your diagram is saved here on
the wiki, not on their servers, and viewing a saved Drawio diagram does not contact them
at all — but editing one does need that external site to be reachable from your
browser. The other four formats are served entirely from this wiki.
Tips
- Diagrams are ordinary pages:
History,Talk, watchlisting and the normal backups all apply. - Because Mermaid and DOT are text, their page histories produce readable diffs — prefer them over an uploaded image when the diagram is likely to change.
- In a BPMN diagram, an element named
[[Some page]]becomes a link to that wiki page. - Give diagrams descriptive names, the same as files —
Mermaid:Landis Gyr Focus teardown stepsbeatsMermaid:Diagram 3.
See also
- Help:Uploading files — for photographs, scans and CAD files
- Extension:Flex Diagrams — the extension providing this