前言

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. 2019-04-23-Python爬取有声小说

    目录 Python爬取有声小说 摘要 1.获取下载链接 2.分析规律,循环爬取 3.保存到本地,批量命名 4.界面设计 5.效果展示 Python爬取有声小说 通过python爬取网站的资源,实现批量 ...

  2. 【selenium】- selenium简介

    本文由小编根据慕课网视频亲自整理,转载请注明出处和作者. 1. Selenium的来历 2. Selenium家庭成员 Selenium RC: Selenium 1 Selenium Webdriv ...

  3. 牛客练习赛51 A abc

    A. abc 题意: 给出一个字符串s,你需要做的是统计s中子串”abc”的个数.子串的定义就是存在任意下标a<b<c,那么”s[a]s[b]s[c]”就构成s的一个子串.如”abc”的子 ...

  4. Mysql高手系列 - 第7篇:玩转select条件查询,避免踩坑

    这是Mysql系列第7篇. 环境:mysql5.7.25,cmd命令中进行演示. 电商中:我们想查看某个用户所有的订单,或者想查看某个用户在某个时间段内所有的订单,此时我们需要对订单表数据进行筛选,按 ...

  5. Altera Quartus II 15.0安装

       写在前面的话 开始学习之前,我们首先应该选择并安装好自己的开发工具,那么我们用什么软件来编译代码呢?梦翼师兄推荐给大家的是Altera 目前最新的Quartus II 15.0 版本,当然啦,这 ...

  6. 062 Python必备库-从Web解析到网络空间

    目录 一.概述 二.Python库之网络爬虫 2.1 Requests 2.2 Scrapy 2.3 pyspider 三.Python库之Web信息提取 3.1 Beautiful Soup 3.2 ...

  7. WEB应用中普通java代码如何读取资源文件

    首先: 资源文件分两种:后缀.xml文件和.properties文件 .xml文件:当数据之间有联系时用.xml .properties文件:当数据之间没有联系时用.properties 正题:   ...

  8. order by和group by的区别

    order by: 用来对数据库的一组数据进行排序   desc:降序   asc:升序 group by: “By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然 ...

  9. 选择正确的 Fragment#commitXXX() 函数

    转自: http://www.tuicool.com/articles/q6R7nii 最新版本(v24.0.0)的 Support v4 库中的 FragmentTransaction 添加了 co ...

  10. 策略模式+注解 干掉业务代码中冗余的if else...

    前言: 之前写过一个工作中常见升级模式-策略模式 的文章,里面讲了具体是怎样使用策略模式去抽象现实中的业务代码,今天来拿出实际代码来写个demo,这里做个整理来加深自己对策略模式的理解.   一.业务 ...