Obsidian Canvas arrows (edges) carry semantic meaning — they show how ideas relate, how tasks depend on one another, or how a concept flows into another. When those cards are materialized into standalone Markdown files, simply creating the files would silently discard all of that relational structure. Canvas Card-Materializer preserves it by appending aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/redsheep913/Canvas-Card-Materializer/llms.txt
Use this file to discover all available pages before exploring further.
Connected Nodes: section to each materialized file, translating visual arrows into Obsidian wikilinks that remain navigable long after you close the canvas.
The Connection Algorithm
Connection processing happens across Passes 2 and 3 of the materialization workflow. Pass 2 — Edge traversal: After all files are created and recorded inexportMap, the plugin iterates over canvas.edges — a Set<CanvasEdge> exposed by Obsidian’s internal Canvas API. Each CanvasEdge has the shape:
edge.from.node.id and edge.to.node.id are present in exportMap. If both endpoints were materialized in the current operation, it resolves the link text using Obsidian’s metadata cache:
fileToLinktext() produces the shortest unambiguous wikilink string for the destination file as seen from the source file — so [[Sprint Goals]] rather than a full vault-relative path, unless disambiguation is required. The result is wrapped in [[...]] and queued under the source node’s ID in a linkUpdates map.
Pass 3 — Writing the section: For each node that has at least one outgoing edge to another materialized node, the plugin reads the file content and appends the Connected Nodes: block:
Directionality
Connections are directional. An arrow drawn from Node A to Node B produces aConnected Nodes: entry in Node A’s file only. Node B’s file does not automatically receive a reverse link. This mirrors the directionality of the original canvas arrow and gives you intentional, one-way references rather than automatic mutual backlinks.
If you want bidirectional connections, draw arrows in both directions on the canvas before materializing.
What the Generated Section Looks Like
A materialized note with outgoing connections will have a section appended at the end of its content that looks like this:---) visually separates the node’s original content from the connection list. Each bullet is a standard Obsidian wikilink, meaning it appears in graph view, the backlinks panel of the target note, and is navigable with a click.
Connections are only preserved between nodes that were both selected and materialized in the same operation. If Node A points to Node B but Node B was not part of the selection, the edge is silently ignored — no partial or broken link is written to Node A’s file. To capture a connection, ensure both endpoints are selected before triggering “Materialize cards to files.”