前言

GitHub徽标,GitHub Badge,你也可以叫它徽章。就是在项目README中经常看到的那些表明构建状态或者版本等信息的小图标。就像这样:



这些好看的小图标不仅简洁美观,而且包含了清晰易读的信息,在README中使用小徽标能够为自己的项目说明增色不少!如何给自己的项目加上小徽标呢?

一、关于徽标

  1. 徽标图片分左右两部分,左边是标题,右边是内容,就像是键值对。
  2. GitHub徽标官网是 https://shields.io/
  3. 图标规范

二、如何添加动态徽标

动态徽标是指如果项目状态发生变化,会自动更新状态的徽标,它能保证用户看到的信息就是项目当前的真实状态。

常用的动态徽标有:

  • 持续集成状态
  • 项目版本信息
  • 代码测试覆盖率
  • 项目下载量
  • 贡献者统计等等

这里以Travis CI的持续集成状态为例。没有接触过Travis CI的可以看我的上一篇文章 利用Travis CI+GitHub实现持续集成和自动部署

  1. 登录Travis CI,进入配置过构建的项目,在项目名称的右边有个build passing或者build failing徽标。

  2. 点击它,在弹出框中,就可以看到Travis CI为你提供的各种格式的徽章地址了。

  3. 你可以根据需要选择格式,imageUrl格式大概是这个样子:

    https://www.travis-ci.org/{your-name}/{your-repo-name}.svg?branch=master

    markdown格式大概是这个样子:

    [![Build Status](https://www.travis-ci.org/{your-name}/{your-repo-name}.svg?branch=master)](https://www.travis-ci.org/{your-name}/{your-repo-name})
  4. 简单起见,我选择 markdown 格式。将内容复制后,打开项目的README文档,在顶部位置粘贴。

  5. 经过前4步,小徽章就搞定了。将README文档push到远程,刷新GitHub页面,过一会,就会看到README上面已经有了持续集成状态图标了:



    之所以要过一会才加载出来,是因为它要动态从Travis CI平台获取状态。

三、如何自定义徽标

shields.io 提供了自定义徽标的功能。

徽标图标格式

https://img.shields.io/badge/{徽标标题}-{徽标内容}-{徽标颜色}.svg

带链接的徽标

[![](https://img.shields.io/badge/{徽标标题}-{徽标内容}-{徽标颜色}.svg)]({linkUrl})

变量说明

  • 徽标标题:徽标左边的文字
  • 徽标内容:徽标右边的文字
  • 徽标颜色:徽标右边的背景颜色,可以是颜色的16进制值,也可以是颜色英文。支持的颜色英文如下:



    变量之间用 - 连接。将这3个变量替换为你需要的内容即可生成一个自定义的徽标。

举个栗子

例如下面这个是我的博客的徽标:

[![](https://img.shields.io/badge/blog-@champyin-red.svg)](https://champyin.com)

效果:



点击该徽标会打开对应的linkUrl地址,即直接跳到我的博客。

进阶

除了上面所说的3个参数,shields.io 还提供了一些 query string 来控制徽标样式。使用方式跟URL的query string一致:徽标图标地址?{参数名}={参数值},多个参数用 & 连接:

https://img.shields.io/badge/{徽标标题}-{徽标内容}-{徽标颜色}.svg?{参数名1}={参数值1}&{参数名2}={参数值2}

常用的 query string 参数有:

  • style:控制徽标主题样式,style的值可以是: plastic | flat | flat-square | social
  • label:用来强制覆盖原有徽标的标题文字。
  • colorA:控制左半部分背景颜色,只能用16进制颜色值作为参数,不能使用颜色英文。
  • colorB:控制右半部分背景颜色。

以style参数为例

  • plastic 立体效果:

![](https://img.shields.io/badge/blog-@champyin-orange.svg?style=plastic)

  • flat: 扁平化效果,也是默认效果:

![](https://img.shields.io/badge/blog-@champyin-yellow.svg?style=flat)
  • flat-square: 扁平 + 去圆角效果:

![](https://img.shields.io/badge/blog-@champyin-success.svg?style=flat-square)
  • social: 社交样式效果:

![](https://img.shields.io/badge/blog-@champyin-blue.svg?style=social)

还有很多参数,用法类似。更多信息可以到shields.io查阅。

总结

徽标简洁又不失内容,使用简单又不失灵活。如果你的项目还没有使用过徽标,那么不妨试试给你的项目中添加一个,你会爱上它。

--

欢迎转载,转载请注明出处:https://champyin.com/2019/10/05/github项目徽标/

本文同步发表于:

GitHub项目徽标 | 掘金

GitHub项目徽标的更多相关文章

  1. 利用Travis CI 让你的github项目持续构建

    Travis CI 是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜.目前大多数的github项目都已经移入到Travis CI的构建队列 ...

  2. 优秀大数据GitHub项目一览

    http://blog.csdn.net/yaoxtao/article/details/50540485 优秀大数据GitHub项目一览 VMware CEO Pat Gelsinger曾说: 数据 ...

  3. 用tortoiseGit管理GitHub项目代码(完整教程)

    一.为什么要写这篇博客呢,因为在一开始用tortoiseGit来管理项目的时候,在百度上找了很多教程,但是感觉说的都不是很全,有些东西以及操作没写清楚,所以想写一片比较完整用tortoiseGit管理 ...

  4. Github项目推荐-图神经网络(GNN)相关资源大列表

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 转自 | AI研习社 作者|Zonghan Wu 这是一个与图神经网络相关的资源集合.相关资源浏览下方 ...

  5. Eclipse安装git插件以及关联导入GitHub项目

    一.Eclipse配置git 1.查看自己eclipse的版本 打开eclipse 导航: help->AboutEclipse 如图: 2.检查Eclipse中是否已安装Git插件 菜单栏He ...

  6. Keras RetinaNet github项目

    https://github.com/fizyr/keras-retinanet 根据此网站的方法,利用Pascal VOC 2007数据集开始训练,出现error: D:\JupyterWorkSp ...

  7. Keras RetinaNet github项目安装

    在存储库目录/keras-retinanet/中,执行pip install . --user 后,出现错误: D:\>cd D:\JupyterWorkSpace\keras-retinane ...

  8. github项目

    一.github项目地址: https://github.com/fairy1231/gitLearning/tree/master 二.github的重要性: Git 是一个快速.可扩展的分布式版本 ...

  9. 【全网最全的博客美化系列教程】01.添加Github项目链接

    全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...

随机推荐

  1. redis六种内存淘汰策略学习

    当客户端会发起需要更多内存的申请,Redis检查内存使用情况,如果实际使用内存已经超出maxmemory,Redis就会根据用户配置的淘汰策略选出无用的key; 当前Redis3.0版本支持的淘汰策略 ...

  2. POJ - 2516 Minimum Cost 每次要跑K次费用流

    传送门:poj.org/problem?id=2516 题意: 有m个仓库,n个买家,k个商品,每个仓库运送不同商品到不同买家的路费是不同的.问为了满足不同买家的订单的最小的花费. 思路: 设立一个源 ...

  3. 【百度之星】【思维】hdu 6724Totori's Switching Game

    思维题,最后只要判断每个点的度数>=k即可. #pragma comment(linker, "/STACK:1024000000,1024000000") #pragma ...

  4. D-query

    SPOJ - DQUERY 题意 求区间内出现一共有几种数字. 上次写了一个主席树,这次用一下莫队,莫队是离线询问的一种操作,将询问分块,如果在同一个块内就按照右端点排序,如果不在同一个块内就按照块的 ...

  5. Codeforces 729C Road to Cinema(二分)

    题目链接 http://codeforces.com/problemset/problem/729/C 题意:n个价格c[i],油量v[i]的汽车,求最便宜的一辆使得能在t时间内到达s,路途中有k个位 ...

  6. SpringCloud 学习(二)-2 :Securing The Eureka Server

    由于工作等种种原因未能连续进行学习,现在继续学习微服务,不过是新建的demo,springcloud版本用的是Finchley.SR2. 之前用简单demo实现了注册中心,现在来对注册中心加安全验证: ...

  7. Salesforce LWC学习(七) Navigation & Toast

    上一篇我们介绍了针对LWC中常用的LDS的适配的wire service以及@salesforce模块提供的相关的service,其实LWC中还提供其他的好用的service,比如针对导航相关的lig ...

  8. golang时间转换

    1.datetime转换成时间字符串 package main import ( "fmt" "reflect" "time" ) func ...

  9. Winform中设置ZedGraph曲线图的水平与竖直参考线

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  10. HBase的表结构

    HBase以表的形式存储数据.表有行和列组成.列划分为若干个列族/列簇(column family).  如上图所示,key1,key2,key3是三条记录的唯一的row key值,column-fa ...