Shields – 开源徽章生成与自托管工具

Shields – 开源徽章生成与自托管工具

Shields
Shields 是给开源项目做状态徽章的开源服务,一条图片地址就能把构建、覆盖率等指标嵌进 README。
网站&在线应用

简介

Shields 解决的是项目页「一眼看懂状态」的问题:把构建结果、下载量、代码覆盖率、License 这类指标统一成可嵌入的图片徽章,贴进 README 或文档首页后会跟着数据源自动更新。它面向写代码、维护仓库的人,而不是需要点选导出图片的设计工具。

徽章分两条路:动态徽章覆盖数百个服务的公开指标,分组有 Activity、Build、Code Coverage、Dependencies、Downloads、Funding、Issue Tracking、License、Monitoring、Rating、Size、Social、Test Results、Version 等;静态徽章只要按「标签-消息-颜色」拼地址。样式可选 flat、flat-square、plastic、for-the-badge 与 social,颜色支持十六进制、rgb、rgba、hsl、hsla 与 CSS 颜色名,logo 取 simple-icons 的 slug。

结论:只要项目托管在 GitHub、GitLab 这类平台,它基本是零成本的标配组件——不用注册、不收费、还能自托管;要接受的代价是它只能展示上游公开数据,徽章显示异常时得先去查数据源本身。

优缺点

  • ✅ 样式与配色自由:style 支持 flat、flat-square、plastic、for-the-badge 与 social,颜色可用十六进制、rgb、rgba、hsl、hsla 与 CSS 颜色名,logo 取 simple-icons 图标。
  • ✅ 服务覆盖面广:动态徽章覆盖数百个服务的指标,构建、下载量、代码覆盖率、License、社交关注等常见指标都有现成端点。
  • ✅ 地址规则直观:静态徽章按「标签-消息-颜色」拼出图片地址即可,不需要注册或申请密钥就能嵌进 README 与文档。
  • ✅ 渲染库可嵌入:官方 badge-maker 库用 npm install badge-maker 安装,可以在自己的应用程序里直接渲染出徽章图片。
  • ❌ 门槛偏开发者向:徽章主要靠手写地址与查询参数拼装,没有面向普通用户的可视化生成表单,不熟悉路径规则的人需要先读文档。
  • ❌ 依赖上游数据:动态徽章的指标来自第三方服务的公开接口,对方接口变动或限流时,徽章会显示异常或直接报错。

使用方法

  1. 先定路线:要展示现成指标进 Dynamic badges,要自定义内容走 Static Badges,两者都在顶栏的 Badges 目录里。
  2. 在徽章目录按分组挑端点(Build、Downloads、Code Coverage、License、Version 等),本地开发时可以用 Docker 起一个实例,把徽章请求指向自己的机器。
  3. 静态徽章直接在图片地址里拼内容:标签、消息、颜色三段用短横线连接,空格用下划线或 %20 表示,颜色可用十六进制或 CSS 颜色名。
  4. 进阶落地:用 npm install badge-maker 在自己的应用或 CI 脚本里渲染徽章,也可以把自托管实例接进私有看板,批量给内部服务生成状态图。
  5. 限制与注意:徽章服务不要求密钥与登录,取的是上游公开数据,对方限流时会返回错误徽章;cacheSeconds 控制缓存时长(示例 3600),调太小会显著增加请求量。

收费说明

完全免费:徽章渲染不收费,也没有账号、配额与付费墙,站内看不到价目表。运营靠社区捐赠维持,首页提供 Open Collective 入口,项目源码公开在 GitHub 上。自托管同样不产生授权费用,用官方 docker 镜像就能把实例部署在自己的服务器或内网,适合对可用性有要求的团队。

平台支持

输出物是图片,所以形态是「服务 + 任意宿主」:任何支持外链图片的 Markdown、HTML 或文档系统都能嵌入,浏览器打开文档站即可按分组查参数,不需要安装客户端,也没有官方移动端应用。它提供 npm 库 badge-maker 供程序化渲染,并提供 docker 镜像支持自托管;徽章接口不要求登录,也没有账号体系。国内可用性:文档站可以在国内直连打开,徽章图片走境外服务,对可用性要求高的项目建议用 docker 自托管,避免图片被拦时页面开天窗。


截图

Shields

相关链接


功能标签


特色

★
徽章目录分组
Badges 目录按 Activity、Analysis、Build、Chat、Code Coverage、Dependencies、Downloads、Funding、Issue Tracking、License、Monitoring、Platform & Version Support、Rating、Size、Social、Test Results、Version 等分组排列。
★
核心端点
Core 一栏列出 Static Badge、Dynamic JSON / Regex / TOML / XML / YAML 与 Endpoint Badge 等端点,可从结构化文件直接取值。
★
路径转义规则
地址里的下划线或 %20 会转成空格、双下划线转成下划线、双短横线转成短横线,标签与消息因此可以夹带空格与连字符。
★
输出格式切换
输出区可在 URL、Markdown、rSt、AsciiDoc 与 HTML 之间切换,复制对应写法直接贴进 README 或文档站。
★
支持自托管
提供 docker 镜像,可以把 shields 实例部署在防火墙内,适合内网或私有项目使用。
★
缓存时长可控
cacheSeconds 参数可指定徽章图片的 HTTP 缓存时长,文档示例为 3600,方便在实时性与请求量之间取舍。

替代方案

■开发者工具
◆
JDoodle
JDoodle 是免装环境的在线编程环境,适合临时跑代码、教学布置与产品内嵌运行。
◆
OneCompiler
OneCompiler 是免安装、在浏览器里写代码跑程序的在线编译器,适合随时验证代码片段与语法。
◆
DevToys
DevToys 是给开发者在本机离线处理 JSON、Base64、JWT 等杂活的工具箱客户端。
◆
QuickType
QuickType 是把 JSON 样例转成强类型模型与序列化代码的生成器,适合省下接口类型的手写功夫。
◆
Bundlephobia
Bundlephobia 是一个在线分析 npm 依赖体积与加载耗时、帮前端项目瘦身排雷的工具。
网站反馈表单
关注我们

公众号二维码

公众号

公众号二维码

小程序

反馈

网站无法访问了?向我们反馈!
点击下面的 反馈 按钮即可让我们知道!感谢!

为了阻止机器人发送垃圾信息,记得点击验证。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享