What I originally expected canvas to be is something to easily embed a self-designed navigation diagram into a note (![[Diagram.canvas]]), but the labels are currently not visible and you can’t click on entries to go to them.
I’ve found a way to do the above, however, using iframes:
- Create a diagram
Untitled Diagram.svgusing the Diagrams (v1.5.0) plugin - Create any shape with fill (of the types supported by the plugin; src)
- Right-click “Copy Obsidian URL” of a file you want to link, say
Concept 1.md - Right-click “Edit link” and paste the
obsidian://openurl - this will create links of thexfile:hreftype into the .svg file - Create a new note
ToEmbed.mdwith contents<iframe src="Untitled Diagram.svg" width="500" height="500"></iframe> - Open
Untitled Diagram.svgin explorer and copy its path, paste that in theiframe srcto complete the link - Create a note
MOC.mdwith contents![[ToEmbed]]- it will now showUntitled Diagram.svgwith a clickable, filled element that links toConcept 1.md
This has some quirks:
- You can only directly click links, not ctrl-click them (a benefit for some, a downside for others)
- The method is not sync-proof unless you have immaculately well set-up synced vaults
- The
iframe srconly works if the path is never altered (no renames or moves of the vault or other folders in the path) - The
.svg xfile:hrefonly works if the vault name is unchanged (I think?)
- The
Alternatives I’ve tried:
- Embedding excalidraw files (links aren’t clickable)
- Embedding .svg files directly (links aren’t clickable)
- Using iframes directly (non-embedded iframes only show in read mode, not in edit mode)
-
<a href/>block around iframes or image embeds of .svg files (while this does go to the .svg file, it requires one extra click for every embedded diagram you want to traverse)
Alternatives I’ve seen suggested:
- HTML Image Maps - apparently not available in Obsidian