关于 obsidian-canvas
用于通过随附的 Python 库创建和编辑 Obsidian Canvas 的 `.canvas` 文件。适合需要结构化节点、分组和自动路由连线,且不直接编写原始 JSON 的画布工作流。
主要功能
- 01创建和操作 `.canvas` 文件
- 02构建节点、分组和智能连线
- 03通过库的 CLI 生成文件
- 04用逻辑坐标排列元素
- 05遵循层级、间距和配色指南
适用场景
- 01在 Obsidian Canvas 中创建项目流程图
- 02将相关节点整理到分组轨道
- 03无需手写 JSON 生成画布
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ altshiftstudio/ skills --skill obsidian-canvas安装后在 Claude Code 中输入/obsidian-canvas确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/flowchart.canvasreferences/library_spec.mdspec.mdscripts/canvas_lib.py详细介绍
Obsidian Canvas
此技能用于创建和操作 .canvas 文件(JSON Canvas)。
核心工作流
- 库:必须使用提供的
scripts/canvas_lib.py。不要编写原始 JSON。 - 执行:构造 JSON 负载,并通过 stdin 将其传递给库脚本(CLI 模式)。不要创建临时 Python 脚本。
- 布局:专注于逻辑坐标(x、y)。库会自动处理 ID 生成、节点高度和边的路由。
资源
- 库:
scripts/canvas_lib.py(节点、分组和智能边的核心逻辑)。 - CLI 规范:references/library_spec.md —— 仅用于了解 JSON 格式。
- 规范:详细的 JSON 架构请参阅 references/spec.md。
- 示例:请参阅 assets/flowchart.canvas。
布局与美观(资深设计师标准)
- 留白:相关节点之间留出充足的垂直间距(120px-180px),为边标签留出“搁置空间”。
- Z 轴索引:库会处理 Z 轴索引(分组会渲染在节点后方)。始终使用分组框定特定泳道的内容。
- 层级:画布标题使用 H1 (#),主要章节使用 H2 (##),单个节点标题使用 H3 (###)。
- 颜色:
1(红色):阻碍、错误、提交。2(橙色):交互、支持、外联。3(黄色):证据、文档、数据。4(绿色):成功、解决、开始。5(蓝色/青色):中性、运营。6(紫色):标题、元信息、结果。
- 边:标签应简短。如果多条边交叉同一路径,库会尝试为它们规划路线,但手动调整
x坐标会有所帮助。
输出
要创建新画布,请构造 JSON 负载并通过管道将其传递给库脚本:
cat <<EOF | python3 /path/to/skills/obsidian-canvas/scripts/canvas_lib.py
{
"output": "Project_Flow.canvas",
"nodes": [
{"node_id": "start", "text": "Start", "x": 0, "y": 0, "color": "6"},
{"node_id": "end", "text": "End", "x": 0, "y": 200, "color": "1"}
],
"edges": [
{"from_node": "start", "to_node": "end"}
],
"groups": [
{"label": "Phase 1", "nodes_in_group": ["start", "end"], "color": "5"}
]
}
EOF
评论
支持 Markdown