如何生成Github Badge徽章图标

如何生成徽章Badge

什么是徽章(Badge)

在开源项目的README中,经常会见到一些徽章(Badge)小图标,如下图所示:

可以看到README中这些小图标,每个徽章都对应的一个URL。

本文将介绍如何生成这些小徽章。

注:因博客无法展示外站图片地址,所以本都还用截图展示效果,后文中徽章URL可以直接点击效果。

生成小徽章

shields网站

官网地址:https://shields.io/badges

该网站不仅仅可以支持对接npm/pypi等各大源站lib的信息,还可以完全自定义徽章。

自定义徽章:

示例:https://img.shields.io/badge/`any_text`-`you_like-blue` 中间用-隔开即可自定义徽章,效果如上图所示。

开源项目的徽章

开源项目中定义的徽章当然都不是通过自定义而来,而是遵循社区的规范生成而来,下面分别介绍:

  • lib版本徽章
  • 代码测试覆盖度
  • 开源协议
  • Github workflow的徽章(一般可用于自动跑测试用例)

ps: 所有生成方法在shields网站中均有生成的方法说明。

lib版本徽章

都是固定前缀增加开源库名称即可:

Python开源库--固定前缀增加库名称即可 :https://img.shields.io/pypi/v/py-enum

npm开源库:https://img.shields.io/npm/v/js-enumerate

代码测试覆盖度

测试覆盖度,要借助 coveralls 网站了。

该网站可以使用Github账号登录,对于公开的Github项目我们可以免费将测试报告上传至网站,就可以在网站上看到测试报告,同时可以看到我们想要的测试覆盖度小徽章。

示例:https://coveralls.io/repos/github/SkylerHu/py-enum/badge.svg?branch=master

其中branch表示代码分支,可以在GitHub workflows任务中添加脚本自动上报网站。

在coveralls网站生成小徽章后,也可以通过 shields 网站生成链接,例如:https://img.shields.io/coverallsCoverage/github/SkylerHu/py-enum?branch=master 效果和上面链接一样

开源协议

直接补充Github仓库名称即可,也还支持其他仓库例如gitlab等,具体可以查看官网:

https://img.shields.io/github/license/SkylerHu/py-enum

Github workflow的徽章

Github项目名称 + workflows配置的文件名称
https://img.shields.io/github/actions/workflow/status/`SkylerHu`/py-enum`/`test-py3.yml`

从这里看出,使用shiedls生成只能看到build,若是有多个workflows任务配置,就无法区分开。

这种情况下,GitHub自身提供了工作流状态徽章方式,详见官方描述 , 他能展示出工作流定义的名称。

示例:https://github.com/SkylerHu/py-enum/actions/workflows/test-py3.yml/badge.svg?branch=master

其中工作流文件中定义的名称就是test for py3,如此便能显示更多的工作流执行状态了。

开源代码实践效果

py-enum

js-enumerate

相关推荐
世人万千丶1 天前
鸿蒙PC问题解决:窗口拖动与拉伸时页面布局瞬间错乱、回弹后恢复
学习·华为·开源·harmonyos·鸿蒙·鸿蒙系统
程序员老申1 天前
我受够了在项目、域名、服务器、SSL 之间来回切换,于是开源了 Solo Workspace
程序员·开源
星浩AI1 天前
接手 20 万行代码从哪读起?Understand-Anything 把仓库变成可探索的知识图谱
后端·github·claude
用户480261584701 天前
s3fs:用操作本地文件的方式读写 S3
github
Menahem1 天前
解决 SSH 报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
运维·ssh·github
浮芷.1 天前
鸿蒙PC端 TTS 语音播放失败问题详解:从错误码到解决方案
华为·开源·harmonyos·鸿蒙·鸿蒙系统
提子拌饭1331 天前
模态窗鸿蒙PC Electron框架实现技术详解 - 饮料含糖量应用案例分析
前端·javascript·华为·electron·前端框架·开源·鸿蒙
浮芷.1 天前
鸿蒙PC端 TTS 网络连接错误问题详解:在线/离线模式切换与网络状态管理
网络·华为·开源·harmonyos·鸿蒙·鸿蒙系统
2601_955781981 天前
私有化本地 AI,Windows 平台 OpenClaw 功能详解与配置
人工智能·开源·github·open claw
提子拌饭1331 天前
个人月事记录表应用 - 鸿蒙PC Electron框架完整实现指南
前端·javascript·华为·electron·前端框架·开源·鸿蒙系统