/install svgjs
SVG.js
Zero-dependency SVG manipulation and animation. npm install @svgdotjs/svg.js or import { SVG } from '@svgdotjs/svg.js'
Use Cases
Use when drawing SVG, animating vector graphics, building data visualizations, creating SVG-based UI components, or manipulating SVG DOM.
Core API
SVG() — entry point for everything: create doc, get from DOM, create from fragment:
const draw = SVG().addTo('body').size(300, 300) // SVG doc MUST have explicit size()
const rect = SVG('#myRect') // get from DOM
const el = SVG('\x3Ccircle>') // create from fragment
Chainable — every setter returns this:
draw.rect(100, 100).fill('#f06').stroke({ width: 2, color: '#000' }).move(50, 50)
// .animate() starts animation chain, returns SVG.Runner (NOT the element)
rect.animate(1000).move(200, 200).fill('#0f0')
rect.animate({ duration: 2000, delay: 500, times: 3 }).rotate(45)
// Sequence: rect.animate().fill('#f03').animate().dmove(50, 50)
Quick example:
import { SVG } from '@svgdotjs/svg.js'
const draw = SVG().addTo('body').size(400, 300)
draw.rect(100, 100).fill('#f06').move(50, 50)
draw.circle(50).fill('#0f0').center(200, 150)
draw.text('Hello').font({ family: 'Arial', size: 24 }).move(50, 200)
Progressive References
- Shapes: rect/circle/ellipse/line/polyline/polygon/path →
references/shapes.md - Text, images, masks, gradients, patterns →
references/text-image.md - Positioning, sizing, attr, transforms, tree manipulation →
references/manipulating.md - Animation, Runner, Timeline, easing, controllers →
references/animating.md - Containers: groups, nested SVG, defs, symbols, links →
references/containers.md - Events, custom events, namespaces →
references/events.md - Import/export, extend, subclass →
references/utilities.md - Color, Matrix, Point, Box, List, PointArray, PathArray →
references/classes.md
Gotchas
- SVG doc must have explicit
size()— defaults to 0×0 without it .animate()returns Runner, not element — chain.animate()again for sequencing- Positioning works on ALL elements —
rect.cx(50)works though cx isn't native to rect - Groups have no geometry — no x/y/w/h; use
nested()for positioned containers - Text needs explicit newlines — SVG has no flowing text; use
\ortspan().newLine() - Path animation needs same command structure — both paths must have identical M/C/S commands
- css() ≠ attr() —
css()sets inline styles,attr()sets SVG attributes - First
SVG()call creates invisible parser\x3Csvg>— normal, documented in FAQ
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install svgjs - 安装完成后,直接呼叫该 Skill 的名称或使用
/svgjs触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
SVG.js — lightweight SVG manipulation & animation library. 是什么?
SVG.js — lightweight SVG manipulation & animation library. Zero dependencies, chainable API, full SVG spec coverage. Create/position/animate shapes (rect/cir... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 37 次。
如何安装 SVG.js — lightweight SVG manipulation & animation library.?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install svgjs」即可一键安装,无需额外配置。
SVG.js — lightweight SVG manipulation & animation library. 是免费的吗?
是的,SVG.js — lightweight SVG manipulation & animation library. 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
SVG.js — lightweight SVG manipulation & animation library. 支持哪些平台?
SVG.js — lightweight SVG manipulation & animation library. 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 SVG.js — lightweight SVG manipulation & animation library.?
由 OpenLark(@openlark)开发并维护,当前版本 v1.0.0。