blog-figure-svg — 博客图表SVG
v2为博客文章生成无障碍、轻量级的SVG图形:流程图、比较条形图、分类/维恩图、注释的终端模拟和模板化的OG功能卡。手写SVG(无嵌入字体,无外部资源),光栅化为PNG上传,具有统一的色板、无障碍元数据(标题/描述、aria-labelledby)和figcation-ready输出。当用户说“将图形添加到博客文章中”、“说明这个比较”、“为X绘制流程图”、“为文章制作功能图像”或任何请求以编辑用途生成图表/图形时触发。支持通过API、CLI或GitHub上传和管理图形。
运行时依赖
安装命令
点击复制技能文档
blog-figure-svg 生成用于博客文章的SVG图形:内联插图(每个大约500个正文字)和模板化的OG功能卡。输出是一个干净的SVG文件(可编辑的源文件)和一个压缩的PNG文件(文章引用的文件)。每个图形都带有标题、描述和role="img",以便屏幕阅读器可以读取它。这个技能补充了ghost-blog-writer(发布到Ghost CMS)和blog-topic-research(验证主题)。在撰写文章的插图步骤中使用它——在正文稳定后,因此锚点句子是最终的。
/blog-figure-svg 流程 "<标题>" --步骤 "触发器 -> 过滤器 -> HTTP -> Slack" /blog-figure-svg 比较 "<标题>" --条形图 "Zapier:0.03,Make:0.015,n8n:0.008" --单位 "$ 每任务" /blog-figure-svg 分类 "<标题>" --组 "工作流程、代理、RPA" --注释 "参见参考样式示例.md" /blog-figure-svg 终端 "<标题>" --行 "$ npm install\n添加 42 个包" /blog-figure-svg 功能 "<标题>" --强调 "#4F46E5" --药丸 "如何"
所有变体都写入tmp/blog-drafts/--<短名称>.svg(可编辑的源文件,git忽略),然后光栅化为--<短名称>.png(上传到博客CDN)。
开始之前 该技能期望一个可以写入的工作目录。默认:tmp/blog-drafts/。PNG光栅化器需要以下之一:ImageMagick(magick命令)——首选。magick -density 192 -background white in.svg -resize 1600x out.png。rsvg-convert — rsvg-convert -w 1600 -b white in.svg -o out.png。inkscape(CLI)— inkscape --export-type=png --export-width=1600 in.svg。cairosvg(Python)— pip install cairosvg; cairosvg in.svg -W 1600 -o out.png。另外,pngquant(或oxipng)用于压缩——典型的60-80%的大小减少,没有可见的质量损失。Core Web Vitals和广告网络审查(Mediavine、Raptive)关心图像重量。
命令 -v magick || 命令 -v rsvg-convert || 命令 -v inkscape || python3 -c "导入cairosvg" 2>/dev/null \ || 回显 "没有找到SVG光栅化器 - 安装magick、rsvg-convert、inkscape或cairosvg之一" 命令 -v pngquant || 命令 -v oxipng || 回显 "没有PNG压缩器 - 安装pngquant或oxipng"
三个插图形状 将每个图形与读者刚刚完成的段落和一个具体的信息结构匹配: 形状 使用时文章... 变体 比较 ...引用两个或更多数字(价格、延迟、准确性、计数) 比较(条形图) 分类 ...引入命名类别(例如工作流程/代理/RPA或触发器/操作/过滤器) 分类(维恩图、层次或标记组) 流程/流程 ...描述一个“如何”序列、集成拓扑或决策树 流程(带有命名步骤的水平流程) CLI/ API模拟 ...显示命令输出、错误消息或配置块 终端(带注释的终端模拟) 标题卡 ...需要OG功能图像 功能(1600x840模板卡)
永远不要绘制文章中没有引用的数据。如果您无法识别出至少一个信息结构来说明,请跳过——在报告中注明“没有图形:文章太短/太定义性。” 编辑管道的硬性规则:任何文章>=800字需要至少1个图形;图形数量=max(1,body_words // 500)。小于800字的定义性解释器是唯一合法的零图形情况。
调色板和排版 从以下十六进制值中选择。没有新色调——图形的一致性是品牌: 十六进制值 角色 #3b82f6 强调蓝色 — 主要数据系列 #fb923c 橙色 — 次要系列 #10b981 绿色 — 第三/正面 #0b0b11 文本 — 标题、主要呼叫 #475569 / #6b7280 / #9ca3af 灰色 — 次要标签、轴标记 #cbd5e1 / #94a3b8 浅灰色 — 网格线、弱系列 #fafafa 背景填充 排版:font-family="ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif"。没有嵌入的网络字体——它们在feed阅读器、暗模式预览和AMP渲染中无法加载。 尺寸:标题20px粗体,部分标签14-16px,轴标签11-13px。 视图框:viewBox="0 0 800 <高度>"用于内联图形(Casper风格内容列);viewBox="0 0 1600 840"用于OG卡。不要设置根宽度/高度属性——让主机主题缩放。
SVG骨架(每个图形)
无障碍检查清单: 根