新闻详情

新闻详情

首页 / 资讯中心 / 详情

深度解析 theSVG 构建管线:3个上游仓库如何合并出 12,300+ SVG 变体

发布时间:2026/10/2 21:08:41来源:尧图网络
深度解析 theSVG 构建管线:3个上游仓库如何合并出 12,300+ SVG 变体
深度解析 theSVG 构建管线3个上游仓库如何合并出 12,300 SVG 变体【免费下载链接】thesvg7,400 brand SVG icons for developers. Tree-shakeable, typed, open source. npm i thesvg项目地址: https://gitcode.com/gh_mirrors/th/thesvgtheSVG 是一款开源的 SVG 图标库收录 7,400 品牌标志与云架构图标。它的核心亮点在于一条自动化的构建管线——将 3 个上游开源仓库simple-icons、svgl、lobe-icons的 4,700 多个原始 SVG去重、归一化后合并生成12,300 个 SVG 变体文件并产出完整的 JSON 清单、npm 包与 API 静态文件。这篇文章带你拆解这条管线是怎么工作的。 管线起点3 个上游图标仓库theSVG 并不自己从零画图标而是站在三个开源项目的肩膀上。每个仓库提供不同的原料上游仓库贡献数量许可证提供的内容simple-icons3,411 个CC0单色mono变体、品牌色 hex 值、别名svgl967 个 SVG595 条目MIT彩色/浅色/深色变体、文字商标wordmark、分类标签lobe-icons286 个图标集MIT从 React 组件 JSX 中提取的彩色变体、渐变三个来源各司其职simple-icons 保证每个品牌都有单色版和品牌色svgl 贡献多色彩变体与分类体系lobe-icons 则补充最新的 AI 厂商等彩色图标。合并策略的详细设计记录在 docs-local/data-sources.md 中。 关键一步统一图标 Schema 与去重策略三个仓库的数据格式完全不同——JSON 数组、TypeScript 数组、React 组件各有一套。管线的第一站就是把它们统一成同一个 Schema。在 docs-local/PLAN.md 中定义了核心结构IconEntry每个图标最终长这样interface IconEntry { slug: string; // 主键kebab-case如 github title: string; // 显示名称 aliases: string[]; // 别名 hex: string; // 品牌色 categories: string[]; variants: { default: string; // 永远存在 mono?: string; light?: string; dark?: string; wordmark?: string; wordmarkLight?: string; wordmarkDark?: string; }; license: string; url?: string; }去重规则来自 docs-local/data-sources.md 的 Deduplication Strategy 一节以slug标题转小写 kebab-case作为唯一主键同一品牌出现在多个仓库时合并所有变体到同一条目分类优先取 svgl缺失时回退到 lobe-icons 的分组映射去重后的事实数据源就落盘为 src/data/icons.json——实测共有7,423 个图标按合集分布如下️brands品牌图标4,687 个auth-badges认证徽章860 个☁️aws739 个azure626 个gcp214 个community259 个k8s38 个 从 1 个品牌到最多 7 个变体这正是12,300数字的来源——每个图标按使用场景展开为最多7 种变体变体Key用途默认default主品牌色必有单色mono继承文字颜色浅色light白色用于深色背景深色dark黑色用于浅色背景文字商标wordmark完整文字 logo浅色商标wordmarkLight白色文字 logo深色商标wordmarkDark深色文字 logo并非每个图标都有全部变体default是唯一保证存在的。7,423 个图标 × 平均约 1.8 个变体 ≈13,300 个 SVG 文件全部按public/icons/{slug}/{variant}.svg的路径组织。svgl 提供的多变体数据由 packages/icons/scripts/enrich-svgl-variants.ts 负责补充进条目而 svgo.config.mjs 则负责在构建时压缩每个 SVG 体积。⚙️ 一条 build 命令四阶段生成管线打开 package.json 可以看到整条管线的触发点pnpm build会按顺序执行 4 个生成脚本tsx src/scripts/generate-api.ts # ① 生成静态 API 清单 tsx src/scripts/generate-llms-txt.ts # ② 生成 AI 可读索引 tsx src/scripts/generate-drawio-libraries.ts # ③ 生成 draw.io 图形库 tsx src/scripts/generate-excalidraw-libraries.ts # ④ 生成 Excalidraw 图形库 next build # ⑤ 构建静态站点其中最核心的是 src/scripts/generate-api.ts它读取 src/data/icons.json 并产出 3 个静态 JSON输出文件作用registry.json完整图标清单slug、别名、分类、hex、变体 keycategories.json115 分类及各分类图标数量icons-full.json精简版浏览索引供前端懒加载脚本头部注释还透露了一个工程细节刻意不生成每个图标单独的 JSON 文件以控制在 Cloudflare Pages 的 20,000 文件部署上限内——这是一个文件数量 vs 请求粒度的务实取舍。 管线终点同一份数据七种消费方式合并后的数据最终通过多种形态发布全部由public/icons/和生成的 JSON 驱动npm 包thesvg与可 tree-shake 的thesvg/icons入口 packages/icons/src/index.ts构建后自动生成 barrel 文件CDNhttps://thesvg.org/icons/{slug}/{variant}.svg任意语言零安装引用静态 API/api/registry.json一次拉取、客户端过滤MCP Server让 AI 编辑器直接调用图标搜索draw.io / Excalidraw 图形库架构图工具中直接拖拽品牌图标✅ 如何自己验证管线如果你本地克隆了仓库可以这样快速验证管线产物是否一致pnpm install pnpm build # 跑完整管线生成后可用 tools/validate-lineage.mjs 校验图标的合集血缘supersedes/supersededBy版本继承关系而 packages/icons/scripts/validate-dist.mjs 则负责检查发布产物的完整性。 小结theSVG 的构建管线是一个教科书级的数据管线案例多源采集3 个上游仓库各取所长归一化统一 Schema slug 去重7,423 个条目变体展开最多 7 种变体产出 12,300 文件静态生成一次 build 同时产出站点、API、图形库全程无数据库、无动态后端一条pnpm build命令即可完成——这既是它对新手友好的原因也是它能在全球 CDN 上零成本分发的关键。【免费下载链接】thesvg7,400 brand SVG icons for developers. Tree-shakeable, typed, open source. npm i thesvg项目地址: https://gitcode.com/gh_mirrors/th/thesvg创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Oracle自定义加解密函数实战:从等保合规到脱敏展示 2026/10/2 21:57:14

Oracle自定义加解密函数实战:从等保合规到脱敏展示

简介:面向 Oracle 数据库管理员与开发人员的一套自定义加密解密函数方案,基于 DES 加密标准对敏感字段进行加密存储与智能脱敏处理,既保护数据隐私,又不影响后续数据分析与挖掘的准确性,可覆盖账户信息、身份证、密码、…

阅读更多 →
SQL GROUP BY原理与实战:避开HAVING和ONLY_FULL_GROUP_BY的坑 2026/10/2 21:57:12

SQL GROUP BY原理与实战:避开HAVING和ONLY_FULL_GROUP_BY的坑

前两天帮同事排查一个线上报表问题,SQL长这样: SELECT province, COUNT(*) FROM orders GROUP BY province;听着像是最基础的分组统计,结果导出来的数据怎么都不对——省份对不上、订单总数差了好几万。查了半天,发现他把GROUP …

阅读更多 →
NInfer 性能测量方法论:如何像官方一样复现 tok/s 与 TTFT 基准测试 2026/10/2 21:57:11

NInfer 性能测量方法论:如何像官方一样复现 tok/s 与 TTFT 基准测试

NInfer 性能测量方法论:如何像官方一样复现 tok/s 与 TTFT 基准测试 【免费下载链接】ninfer High-performance single-GPU inference for selected model checkpoints and GPUs. 项目地址: https://gitcode.com/gh_mirrors/ni/ninfer 想知道 NInfer 单卡推理…

阅读更多 →
HoloCubic_AIO MQTT服务器部署教程:3步为心跳APP搭建私有免费通道 2026/10/2 21:57:02

HoloCubic_AIO MQTT服务器部署教程:3步为心跳APP搭建私有免费通道

HoloCubic_AIO MQTT服务器部署教程:3步为心跳APP搭建私有免费通道 【免费下载链接】HoloCubic_AIO HoloCubic超多功能AIO固件 基于esp32-arduino的天气时钟、相册、视频播放、桌面投屏、web服务、bilibili粉丝等 项目地址: https://gitcode.com/GitHub_Trending/h…

阅读更多 →
FreeCAD MCP 是什么?用 AI 对话操控 CAD 的终极桥梁:Claude 一句话生成 3D 模型 2026/10/2 21:57:01

FreeCAD MCP 是什么?用 AI 对话操控 CAD 的终极桥梁:Claude 一句话生成 3D 模型

FreeCAD MCP 是什么?用 AI 对话操控 CAD 的终极桥梁:Claude 一句话生成 3D 模型 【免费下载链接】freecad-mcp FreeCAD MCP(Model Context Protocol) server 项目地址: https://gitcode.com/gh_mirrors/fr/freecad-mcp FreeCAD MCP 是一个连接 AI…

阅读更多 →
U8 V10.1环境复原实战:从SQL Server配置到授权修复的完整避坑指南 2026/10/2 21:57:00

U8 V10.1环境复原实战:从SQL Server配置到授权修复的完整避坑指南

简介:这份资源为用友U8 ERP V10.1版本的破解补丁压缩包,面向需要绕过授权限制、激活该版本软件的用户群体。包内共3个文件,包含1个exe可执行程序、1个xml配置文件与1个txt说明文档,压缩包整体约70KB,体积小巧便于传输。…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉