自定义徽标
徽标由左右两块方框所组成,左边显示标签,右边显示该标签所要表达的信息。
终端模式
终端模式是真正的
让用户自定义徽标,只需用户提供终端服务器并返回JSON响应,即提供一条返回JSON的URL链接即可,该响应需提供至少如下几个参数:
{
"schemaVersion": 1,
"label": "hello",
"message": "sweet world",
"color": "orange"
}
其它可选参数可参考shields endpoint,这些可选参数既可以由JSON响应提供,也可以在如下的
形式
链接后面通过&拼接提供。
有了URL链接之后,就可以通过上面的链接形式让shields站点生成我们需要的徽标了。不提供style,则默认为flat样式。
相比与静态徽标优点:
- 不用担心URL请求规则是否改变,稳定性更好
- 不用重定向,响应更快
- 可以直接在JSON中自定义响应缓存时间等
- 不用担心版本问题,徽标样式默认都是最新的
静态徽标
有时候我们不需要太多的自定义,只要这三个基本参数,即标签名、该标签信息和信息背景颜色就可以了。为此,shields站点提供了该功能:
- 连字符分隔形式:
https://img.shields.io/badge/Java-1.8-green
- 参数形式:
https://img.shields.io/static/v1?label=Java&message=1.8&color=green
- 例子:
此功能其实是终端模式的简化版,即shields通过我们给的三个参数,帮我们构造了一条返回基本JSON参数的URL。当我们通过上面的链接形式请求时,shields内部做了一次跳转,即重定向到 img.shields.io/endpoint?url=xxx
的终端模式,返回的是SVG矢量图。
动态徽标
这里的动态
指的是可以根据解析规则
动态解析请求URL后返回的JSON/XML/YAML数据来作为徽标右边信息显示的部分,这里以JSON为例:
其它徽标
除了上面自定义徽标中的动态徽标外,还有一种动态徽标。这种动态跟使用解析规则不同,它通过依赖某个数据来实现。例如:hits站点可以将Github仓库的访问量数据构造成徽标。
类似的还有像显示Github仓库中的许可证、issues、软件最新版本等
评论区