自定义徽标

徽标由左右两块方框所组成,左边显示标签,右边显示该标签所要表达的信息。

终端模式

终端模式是真正的让用户自定义徽标,只需用户提供终端服务器并返回JSON响应,即提供一条返回JSON的URL链接即可,该响应需提供至少如下几个参数:

{
  "schemaVersion": 1,
  "label": "hello",
  "message": "sweet world",
  "color": "orange"
}

其它可选参数可参考shields endpoint,这些可选参数既可以由JSON响应提供,也可以在如下的形式链接后面通过&拼接提供。

有了URL链接之后,就可以通过上面的链接形式让shields站点生成我们需要的徽标了。不提供style,则默认为flat样式。

相比与静态徽标优点:

  1. 不用担心URL请求规则是否改变,稳定性更好
  2. 不用重定向,响应更快
  3. 可以直接在JSON中自定义响应缓存时间等
  4. 不用担心版本问题,徽标样式默认都是最新的

静态徽标

有时候我们不需要太多的自定义,只要这三个基本参数,即标签名、该标签信息和信息背景颜色就可以了。为此,shields站点提供了该功能:

  • 连字符分隔形式:https://img.shields.io/badge/Java-1.8-green
  • 参数形式:https://img.shields.io/static/v1?label=Java&message=1.8&color=green
  • 例子:static badge

此功能其实是终端模式的简化版,即shields通过我们给的三个参数,帮我们构造了一条返回基本JSON参数的URL。当我们通过上面的链接形式请求时,shields内部做了一次跳转,即重定向到 img.shields.io/endpoint?url=xxx的终端模式,返回的是SVG矢量图。

动态徽标

这里的动态指的是可以根据解析规则动态解析请求URL后返回的JSON/XML/YAML数据来作为徽标右边信息显示的部分,这里以JSON为例:dynamic badge

JSON在线解析

其它徽标

除了上面自定义徽标中的动态徽标外,还有一种动态徽标。这种动态跟使用解析规则不同,它通过依赖某个数据来实现。例如:hits站点可以将Github仓库的访问量数据构造成徽标。

  • 请求形式:http://hits.dwyl.com/GitHub用户名/GitHub仓库名.svg
  • 例子:HitCount

类似的还有像显示Github仓库中的许可证、软件最新版本、issues等


license

issues

releases


The end~

留言评论
推荐阅读