canvas
Original:🇺🇸 English
Translated
Create spatial node-based diagrams with free positioning. Best for mind maps, knowledge graphs, concept maps, and planning boards where precise spatial layout matters. Use JSON format with x/y coordinates. NOT for sequential flows (use mermaid) or data charts (use vega).
12installs
Sourcemarkdown-viewer/skills
Added on
NPX Install
npx skill4agent add markdown-viewer/skills canvasTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →JSON Canvas Visualizer
Quick Start: Define nodes with , , , , , → Plan layout on 100px grid → Connect edges with / → Apply colors (1-6) → Wrap in fence. Origin (0,0) at top-left, X right, Y down. Obsidian Canvas compatible.
idtypexywidthheightfromNodetoNode```canvasCritical Syntax Rules
1. Structure Format
canvas
{
"nodes": [
{"id": "n1", "type": "text", "text": "Node 1", "x": 0, "y": 0, "width": 120, "height": 50}
],
"edges": []
}2. Node Types
| Type | Required Fields | Purpose |
|---|---|---|
| | Display custom text content |
| | Reference external files |
| | External URL references |
| | Visual container for grouping |
3. Required Node Attributes
All nodes require: , , , , ,
idtypexywidthheight4. Color Presets
| Value | Color |
|---|---|
| Red |
| Orange |
| Yellow |
| Green |
| Cyan |
| Purple |
5. Edge Connections
json
{
"id": "e1",
"fromNode": "n1",
"fromSide": "right",
"toNode": "n2",
"toSide": "left",
"toEnd": "arrow"
}6. Coordinate System
- Origin (0,0) at top-left
- X increases to the right
- Y increases downward
7. Node Sizing
- Consider text content when setting node dimensions
- Multi-line text requires more height to display all lines
- Long words require more width to avoid overflow
Common Pitfalls
| Issue | Solution |
|---|---|
| Nodes overlapping | Increase spacing (100+ px) |
| Edges not visible | Verify |
| Invalid JSON | Check quotes and commas |
| IDs invalid | Use only a-z, A-Z, 0-9, -, _ |
Output Format
markdown
```canvas
{
"nodes": [...],
"edges": [...]
}
```Related Files
For detailed syntax and advanced features, refer to references below:
- syntax.md — Complete attribute reference: node types, edge properties, group styling, and advanced examples