GitHub很多项目主页都会放上好玩的小标签(GitHub Badges), 这次我们也来玩点表面功夫。

首先,我们要有一个项目

前阵子靖哥哥口嫌体正直地吐槽了一下lowdb

这个lowdb, 好用是好用, 但是也太low了吧…

我十分好奇, 跑去看了看lowdb的介绍:

这是一个 JSON 格式的微型数据库。

诶,微型诶,感觉萌萌哒。 那 Python 有没有对标的库呢? 有,那就是tinydb~

tinydb 大概只有1200行源代码,以及1000行测试。

啥?!这还tiny呢? 怕是18级的tiny吧?

于是我们决定, 要有一个比tinydb还tiny的,比lowdb还要low的数据库。

起名字顿时是个问题。 既然犹豫不定, 那就选择原谅他吧~ 于是又一个轮子诞生了:

原谅数据库(hui-z/ForgiveDB)

readme

GitHub Badges

忽略README里对项目本身的吹捧, Logo下面那一长串绿绿的小标签, 就是Badges啦~ 由于程序员一般都在GitHub上活动, 所以大家也习惯把这些叫做是GitHub Badges (即使在别的地方也可以用到它们)

本质上这些小标签就是能点的图片, 比如用 Markdown 语法可以这么写:

[![ForgiveDB](https://img.shields.io/badge/ForgiveDB-HuiZ-brightgreen.svg)](https://github.com/hui-z/ForgiveDB)

*这么一长串实际上是 Markdown 里图片的语法,加超链接的语法组合成的*

![图片的语法](https://img.shields.io/badge/ForgiveDB-HuiZ-brightgreen.svg)

[超链接的语法](https://github.com/hui-z/ForgiveDB)

上面一串就会变成这样子:

ForgiveDB

这么一长串实际上是 Markdown 里图片的语法,加超链接的语法组合成的

图片的语法

超链接的语法

各种 Badges

具体来看, 我们在 ForgiveDB 里用到的标签有这些:

  • shields.io. 这个值得单独拎出来讲, 因为他们是个专门做 Badges 的网站, 上面图还是 SVG 矢量图, 在任何分辨率屏幕下都不会模糊。 假如我们想挑各种各样奇怪的 Badges, (比如 star 项目的数量、 issue 关闭的数量、 npm, pypi, nuget的版本、 甚至是自定义任意字符) 都可以上shields.io找找看。

  • PyPI. 这个是 Python 官方的包仓库, shields.io也支持版本自动嗅探。 低于 1.0.0 版本的好像还会变成屎黄色…

  • pyup.io. 这个服务很好玩, 授权以后它会自动检测你的 requirements 是不是最新的。 假如一有更新, pyup-bot 会直接给项目提一个 Pull Request… 简直酷炫。

  • travis-ci.org. 这个就是大众熟知的 Travis 自动化集成工具了, Travis 对开源项目免费, 十分友好。 而且功能强大, 和 GitHub 也有很多集成, 用着十分舒服。 (前提是你得写点 UT 什么的)

  • 其它: 还有一些 CodeCov 测试覆盖率, AppVeyor 又一个好用的 CI, CircleCI 双一个好用的 CI 等等,等等……

大概这就是给 ForgiveDB 挑好看的标签的旅程了。 这份心情, 就像是给心爱的键盘选好看的键帽一样美好。

最后欢迎大家给 ForgiveDB 提 Pull Request~ 就算是像靖哥哥一样只改改文档混个 contributor 也行啊~