akitaroh56 downloadsInline GUI editor for Mermaid diagrams. Wikilinks, tags, math and rich markdown work inside nodes.
Inline GUI editor for Mermaid diagrams. Drag nodes, click
[[wikilinks]]inside them, edit visually — all without leaving your note.
This plugin turns Mermaid code blocks into a visual canvas where you can
drag nodes, add/delete/connect them, and edit labels — without switching to
an external tool. Node labels render as real Obsidian markdown, so
[[wikilinks]], #tags, $math$ and bold/italic all work inside the
diagram.
The world's first inline GUI Mermaid editor for Obsidian.
[[wikilinks]] clickable inside nodes — Obsidian's standard link
click / hover preview / unresolved styling all work#tags, $math$, **bold** etc. render inside nodes
Node labels are rendered through Obsidian's MarkdownRenderer, so wikilinks, tags, math and bold all work inside the diagram.
The plugin is opt-in: regular ```mermaid blocks are untouched, only
```mermaid-maker blocks are processed.
%%editable%%
graph LR
A[Start] --> B[Auth]
B --> C[End]
%%editable%% as the first line inside a ```mermaid-maker block.cmd+e / ctrl+e).+ Node button (currently labeled in Japanese — i18n pending).
Without %%editable%% the block is rendered read-only with rich labels
(wikilinks etc. still work).
The plugin is in beta. The fastest way to try it is via BRAT:
Akitaroh/obsidian-mermaid-maker and click Add Plugin.main.js, manifest.json and styles.css from the
latest release.<vault>/.obsidian/plugins/mermaid-maker/ and drop the three
files in.Submission planned for late May 2026 after a short beta. Watch the repo for updates.
If your label contains [, ], (, ), {, }, | or " (e.g.
wikilinks), use quoted form in your Mermaid source:
A["[[note]]"] ✅
A[[[note]]] ❌ — Mermaid parses [[..]] as subroutine shape
The plugin auto-quotes when you edit via the GUI — but if you write markdown directly, follow this convention.
After dragging, the plugin appends a comment line like:
%% mm-pos: A=10,20 B=200,30
This is invisible to other Mermaid renderers (it's a comment), so your diagrams remain portable.
GUI editing is Reading view only. In Live Preview (the default editor
mode), you'll see a hint ✏️ GUI 編集は読み取りビューで利用できます.
This is intentional — Live Preview's CodeMirror widget doesn't sandbox
React mounts well.
A -->|label| B) display but can't be edited via GUI yet[box] / (rounded) / ((circle)) / (((double))))flowchart variants beyond graph LR / graph TD are not
supportedSource code in src/.
Implemented with Zettel-driven development:
atoms/quote-extractor.ts — find "..." labels in Mermaid sourceatoms/markdown-renderer.ts — Obsidian MarkdownRenderer.render adapteratoms/label-measurer.ts — measure rendered HTML for Mermaid layoutatoms/placeholder-injector.ts — splice placeholders into Mermaid sourceatoms/mermaid-loader.ts — load Obsidian's bundled Mermaidatoms/dagre-layout.ts — auto layout for new nodesatoms/xyflow-mounter.tsx — React + xyflow GUI canvas mountatoms/markdown-write-back.ts — debounced safe write back to editoratoms/label-edit-modal.ts — Obsidian modal for label editingarrows/mm-codeblock-render.ts — Stage 2b: rich labels in Mermaid SVGarrows/mm-editable-flow.ts — Stage 3: full GUI editor flowIssues and PRs welcome. Please open an issue first for discussion of larger changes.
MIT — see LICENSE.