canvas

canvas

热门

使用 JSON 格式创建自由定位节点的空间图表。最适合需要精确 x/y 坐标控制的概念图、知识图谱和规划板。

3094Star
178Fork
更新于 2026/5/26
SKILL.md
readonly只读
name
canvas
description

使用 JSON 格式创建自由定位节点的空间图表。最适合需要精确 x/y 坐标控制的概念图、知识图谱和规划板。

JSON Canvas 可视化工具

快速开始: 使用 idtypexywidthheight 定义节点 → 在 100px 网格上规划布局 → 使用 fromNode/toNode 连接边 → 应用颜色(1-6)→ 包裹在 ```canvas 围栏中。原点 (0,0) 位于左上角,X 向右,Y 向下。兼容 Obsidian Canvas。


关键语法规则

1. 结构格式

{
  "nodes": [
    {"id": "n1", "type": "text", "text": "节点 1", "x": 0, "y": 0, "width": 120, "height": 50}
  ],
  "edges": []
}

2. 节点类型

类型 必填字段 用途
text text 显示自定义文本内容
file file 引用外部文件
link url 外部 URL 引用
group label 用于分组的视觉容器

3. 必填节点属性

所有节点都需要:idtypexywidthheight

4. 颜色预设

颜色
"1" 红色
"2" 橙色
"3" 黄色
"4" 绿色
"5" 青色
"6" 紫色

5. 边连接

{
  "id": "e1",
  "fromNode": "n1",
  "fromSide": "right",
  "toNode": "n2",
  "toSide": "left",
  "toEnd": "arrow"
}

6. 坐标系

  • 原点 (0,0) 位于左上角
  • X 向右增加
  • Y 向下增加

7. 节点尺寸

  • 设置节点尺寸时考虑文本内容
  • 多行文本需要更多高度以显示所有行
  • 长单词需要更多宽度以避免溢出

常见陷阱

问题 解决方案
节点重叠 增加间距(100+ px)
边不可见 确认 fromNode/toNode 与节点 ID 匹配
JSON 无效 检查引号和逗号
ID 无效 仅使用 a-z、A-Z、0-9、-、_

输出格式

```canvas
{
  "nodes": [...],
  "edges": [...]
}
```

相关文件

有关详细语法和高级功能,请参考以下资料:

  • syntax.md — 完整属性参考:节点类型、边属性、分组样式和高级示例

资源