robertttbs32k downloadsSyncs Canvas node connections with properties in note, automating document relationship management.
This Obsidian plugin enhances Obsidian Canvas with features I find essential.
Press Cmd+F (Ctrl+F on Windows), the core Search current file hotkey, in a Canvas, or run "Find in canvas" from the command palette, and type a word or a [[link]]. Every card that contains the word, or links to that note, is outlined and the rest are dimmed; matched text is highlighted and the view zooms to fit the results. Select text in a card and right-click → Find in canvas to search for it directly. Click an empty spot on the Canvas to clear.
.canvas file are never changed.body { --ec-find-color: <color>; }Split Node by Headings instantly deconstructs a single node into a hierarchical tree based on its headings. You can try this by right-clicking on a file (text) node and selecting "Split by headings" in Canvas.

Right-click an empty spot on the Canvas and choose "Add notes by tag..." to add every note matching a tag query at once. Tags autocomplete as you type.
#project #activeOR means OR: #book OR #article- excludes: #project -#archivedWith the "Send to Canvas" command, you can push your current markdown note directly to a specific Canvas. It automatically appends a "canvas" property to your note, allowing you to navigate back to the board instantly in the future.
Once you have sent a note, that Canvas becomes the "Selected." You can then use the "Send to Selected Canvas" command on other notes to instantly add them to the same board—bypassing the file selection step entirely.

With this update, double-clicking the bottom edge engages "Auto-Resize." Now, when you drag the right edge to adjust the width or update the text, the height dynamically adjusts to fit your text. No need for repeated double-clicking!
Dragging the bottom edge to manually adjust the height disables the node's auto-resize feature.


Based on this demo:
Node addition: When a note is added to the canvas, the plugin generates a 'canvas' property with a link to its corresponding canvas file.
Edge addition: Creating an edge in the Canvas generates a link to the target note within a property named after the canvas file (e.g., 'Canvas 1'), where the property name is derived from the canvas file name without its '.canvas' extension.
Node Focusing: Upon clicking a link to a .canvas file from a note, the system automatically focuses and zooms to the associated node in the canvas.
Note 1: All Canvas-related properties will be added when this plugin is enabled, and all properties added by this plugin will be removed upon disabling it.
Note 2: If you delete or rename a .canvas or Markdown file, all associated properties will also be updated.
Note 3: To stop the plugin from writing these properties, turn off Enable Frontmatter Synchronization in settings. Turning it off removes every property the plugin added.
The properties panel inside Canvas nodes and embedded notes is hidden. To show it again, turn off Enable Custom Visuals & CSS in settings.
Adjust edges with shortest path
Delete edges between selected nodes
Add edges according the links in notes
Remove the property of all nodes in current Canvas
Send to Canvas / Send to Selected Canvas / Clear selected Canvas file
Find in canvas (selected text or link) / Clear find highlights
Show feature guide

Automatically establishes connections based on existing markdown links in notes
It integrates Adjust edges with shortest path
Optimizes edge paths in Canvas for minimal distance
Supports all node types (text nodes, group nodes, images, nested Canvases, etc.)
Search for "Enhanced Canvas" in the community plugins and install it. Once enabled, it automatically adds all properties to existing .canvas files.
All contributions are welcome!
If you are enjoying Enhanced Canvas, then please support my work and enthusiasm by buying me a coffee on https://buymeacoffee.com/robertttbs.