你的位置:首页 > 软件开发 > ASP.net > 造一个Badge Service(徽章)的轮子

造一个Badge Service(徽章)的轮子

发布时间:2015-04-28 00:00:44
什么是Badge Service细心的读者朋友一定在很多Github的Repo,npm的package页面看到过诸如 的徽章。这些徽章是干什么用的?大家看到上文中我引用的Badge的左侧,是Downloads,Build,Dependency之类的,不难猜出,这些Badge是 ...

什么是Badge Service

细心的读者朋友一定在很多Github的Repo,npm的package页面看到过诸如造一个Badge Service(徽章)的轮子 造一个Badge Service(徽章)的轮子的徽章。这些徽章是干什么用的?

大家看到上文中我引用的Badge的左侧,是DownloadsBuildDependency之类的,不难猜出,这些Badge是用于一些信息的统计,然后以图片的形式展示出来。比如我的一个小项目Delta是用js写的,我使用了Travis CI来进行持续的编译和测试。每次我checkin了新的代码,Travis CI就会对最新的代码进行build,然后把build的结果,画成一张矢量图,放在https://travis-ci.org/rebornix/delta.svg下。于是同学们就能及时地从我的项目主页看到该项目的最近build情况,如果挂了,就可以肆意地爆我。

其实这就是个把numbers变成图片的小玩意。

Shield Badge

为了让.NET世界的朋友也和前端朋友们一样酷,我们决定在Visual Studio Gallery中也提供这样的服务。很快我写了一个版本,用来生成PNG。效果还不错,但是PNG唯一的缺点就是无法scale,如果能生成矢量图会更好。由于.NET在绘制矢量图上天生残疾,我尝试着找找有没有现成的方案。于是我发现了Sheild.io.

Shield提供了一套绘制badge的方案,并且开源了nodejs、php、go等语言的实现方式,甚至他们提供了一个服务Shield.io方便大家使用。这几乎是完美的。

那为啥我要造轮子

原因也挺简单的,shield并不可能像Azure,AWS那样提供SLA(我们也不该要求他们提供)。我们要尽可能地为我们的网站减少这样的external dependency。既然他们开源了,**脆就写了一个.NET版本,通过Nuget管理Assembly,然后把这个服务run在我们自己的机器上。我给它取了个很俗的名字,叫DotBadge,大家可以前去Github围观。

如何使用

大家可以通过nuget下载dll来引用,另外为了大家更好地玩耍已经体验,我写了个小小的命令行工具。

命令行工具

下载

打开命令行,到DotBadge的目录下,执行 DotBadge.exe --help.

例子

DotBadge.exe -sb "Downloads" -st "1000" -c "Green" -sl 0

原标题:造一个Badge Service(徽章)的轮子

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录