Create a folder named advanced-canvas in your vault's plugins folder (<vault>/.obsidian/plugins/).
Download main.js, styles.css and manifest.json from the latest release and put them in the advanced-canvas folder.
Enable the plugin in Settings -> Community plugins -> Installed plugins
Features
All features can be enabled/disabled in the settings.
Create groups independently of the nodes (Updated card menu)
More canvas commands
Node Styles
(Flowchart) Node Shapes
Terminal shape
Process shape
Decision shape
Input/Output shape
On-page Reference shape
Predefined Process shape
Document shape
Database shape
Border Styles
Dotted
Dashed
Invisible
Edge Styles
Edge styles
Dotted
Short-dashed
Long-dashed
Path styles
Default
Straight
A*
Custom colors in the color picker
Properties Support
Set properties for the canvas file
Stickers
Convert image nodes to stickers (transparent background and no border)
Presentation mode
Create presentations by connecting nodes with arrows
Portals
Embed other canvases inside your canvas
Create edges (arrows) to the embedded canvas
Collapsible groups
Collapse and expand groups to organize your canvas
Better readonly
Disable node popup menus
Lock the canvas' position
Lock the canvas' zoom
Encapsulate selection
Create a new canvas from the selected nodes
Create a link to the new canvas in the current canvas
Expose canvas events to use them in other plugins
Expose node data to style them using CSS
Support
If you want to support me and my work, consider starring ⭐ the repository, or, if you want to support me financially, you can donate any amount on Ko-fi ❤️
Canvas Commands
Advanced Canvas: Create text node
Create a new text node
Advanced Canvas: Create file node
Create a new file node
Advanced Canvas: Select all edges
Select all edges
Advanced Canvas: Zoom to selection
Zoom to the bounding box of the selected nodes
Advanced Canvas: Clone node up/down/left/right
Clone the selected node in the direction of the arrow keys
The cloned node will have the same dimensions and color as the original node
Advanced Canvas: Expand node up/down/left/right
Expand the selected node in the direction of the arrow keys
Set the style of the border to dotted, dashed or invisible.
Border Styles Example
Edge Styles
Edge Styles
Set the style of the edges (arrows) to dotted, short-dashed or long-dashed.
Edge Styles Example
Path Styles
Set the path style of the edges (arrows) to default, straight or A*.
Path Styles Example
Custom Colors
Add custom colors to the color picker. You can add them using the following css snippet:
:root {
/* Where X is the index of the color in the palette */
/* The colors 1-6 are already used by Obsidian */
--canvas-color-X: 0, 255, 0; /* RGB */
}
Custom Colors In Palette
Properties Support
Support for properties in canvas files just like in md files. You can edit the properties using the updated control menu.
Convert image nodes to stickers. Stickers have a transparent background and no border.
Sticker Example
Presentation Mode
In presentation mode, you can navigate through the nodes using the arrow keys. The different slides/nodes are connected using arrows. If you want to have multiple arrows pointing from the same node, you can number them in the order you want to navigate through them. While in presentation mode, the canvas is in readonly mode (So better readonly effects the presentation mode as well!). You can exit the presentation mode using the ESC key.
Canvas File
More Complex Example
Canvas File
Usage
Create the first slide
Create the first slide of the presentation using the updated popup menu
OR create a node and mark it as the first slide using the updated card menu
Add more slides
Link the slides using arrows
If you want to loop back to a previous slide, you can number the arrows in the order you want to navigate through them
TIP: Create slides with consistent dimensions by using the updated card menu
Control the presentation
Start the presentation using the command palette (Advanced Canvas: Start presentation)
Change slides using the arrow keys
Exit the presentation using the ESC key
Portals
Embed other canvases inside your canvas and create edges (arrows) to the embedded canvas.
Usage
Embed a canvas file and click on the door icon of the popup menu to open a portal
Collapsible Groups
Collapse and expand groups to organize your canvas.
Collapsible Groups Example
Better Readonly
Disable node popup menus
Lock the canvas' position
Lock the canvas' zoom
BUT to retain some interactivity, it allows zooming to a bounding box (e.g. zoom to selection, zoom to fit all)
Usage
Use the updated control menu to toggle the new features (Only shown if the canvas is in readonly mode)
Encapsulate Selection
Move the current selection to a new canvas and create a link in the current canvas.
Usage
Select the nodes you want to encapsulate
Use the context menu (right click) to encapsulate the selection
OR use the command palette (Advanced Canvas: Encapsulate selection)
Canvas Events
All custom events are prefixed with advanced-canvas: and can be listened to using app.workspace.on (Just like the default events).
All Events (27)
advanced-canvas:canvas-changed
Fired when a new canvas gets loaded
Payload: Canvas
advanced-canvas:viewport-changed:before and advanced-canvas:viewport-changed:after