Diagram Rendering¶
ConfluenceSynkMD can render code blocks for various diagram languages into image attachments that are embedded in your Confluence pages.
Supported Diagram Types¶
| Type | Flag | Default | External Tool Required |
|---|---|---|---|
| Mermaid | --render-mermaid |
✅ Enabled | @mermaid-js/mermaid-cli (Node.js) |
| Draw.io | --render-drawio |
❌ Disabled | drawio-desktop (run headless via Xvfb) |
| PlantUML | --render-plantuml |
❌ Disabled | Java + the plantuml package |
| LaTeX | --render-latex |
❌ Disabled | LaTeX distribution + Ghostscript |
Running the published image? All four renderers ship preinstalled in
ghcr.io/opendocsync/confluencesynkmd:0.1— no host-side installation required. Rundocker run --rm ghcr.io/opendocsync/confluencesynkmd:0.1 doctor --renderers-onlyto verify.
Mermaid¶
Mermaid is enabled by default. Write standard Mermaid code blocks:
Prerequisites¶
- Node.js 22+
- Install mermaid-cli:
npm install -g @mermaid-js/mermaid-cli
Disable Mermaid¶
Draw.io¶
Enable Draw.io rendering to convert Draw.io XML code blocks into images:
Prerequisites¶
Install drawio-desktop (an Electron app) and arrange a display server (Xvfb on Linux). The simpler path is the published Docker image, which preinstalls drawio-desktop and starts Xvfb on :99 for the container's lifetime via entrypoint.sh. To use it manually, set DRAWIO_CMD to a multi-token invocation:
The DrawioRenderer parses multi-token env values via RendererCommandResolver.
PlantUML¶
Enable PlantUML rendering:
Prerequisites¶
Install the plantuml binary and ensure it's on your PATH.
LaTeX¶
Enable LaTeX rendering for mathematical formulas:
Output Format¶
Control the output format for all rendered diagrams:
Tip
Use --prefer-raster to force raster output (PNG) even when the renderer produces SVG by default.
Docker¶
The Docker image includes Mermaid by default. For other diagram types, extend the Dockerfile: