专栏首页magicodes如何做好一个开源项目之徽章(二)

如何做好一个开源项目之徽章(二)

在上一篇如何做好一个开源项目(一),笔者已经介绍过开源项目运作和维护的一些理念了,本篇开始,笔者将着重于介绍一些开源项目维护过程中的一些细节,比如徽章、构建等等。由于最近经常出差,所以博客有中断,非常抱歉。

什么是项目徽章?

我们辛苦维护自己的开源项目,但是如何能够简要的向其他人描述一些项目的相关信息呢?文字、代码的表达方式都是有限的,篇幅过多的话,增加阅读难度又使访问者无法聚焦。这时候是时候可以祭出徽章了,我们可以通过徽章来展示项目的一些相关信息,让访问者知道这个项目的一些信息,以及项目团队一直在持续维护。

那么什么是项目徽章?项目徽章是根据项目情况生成的一些小图标,一般在Readme.md里面通过Markdown语法进行添加。这些图标一般简洁美观,而且还包含了项目相关的一些清晰易读的信息。简言之,徽章就是添加一些花里胡哨的可以带链接和项目信息的小图标,以增加开源项目的炫酷程度,添加同性交友的几率。

接下来,我们继续基于Magicodes.IE(地址:https://github.com/dotnetcore/Magicodes.IE)来进行举例说明。

GitHub徽章

如上图所示,这是Magicodes.IE的GitHub徽章。该徽章使用 http://shields.io/ 进行添加,我们可以在该网站预览绝大部分的徽标样式,然后选择自己喜欢的(当然首先需要适用于自己的目标项目)徽标,添加到自己的项目文档中。

打开网站:http://shields.io/,我们就可以看到各种各样的徽章设置:

该网站支持非常多的类型的徽章,如上图所示的蓝色链接,比如Build(构建)、Code Coverage(代码覆盖)、Analysis(分析)等等类型。点击图标,就可以设置自己的参数(比如用户名和仓库名),然后生成徽章了,如下图所示:

操作非常简单,而且还可以自定义整个徽章。

如何添加持续集成的徽章?

如下图Magicodes.IE的徽章所示,如何添加这些徽章呢?

CI的徽章是很有必要的,一目了然的了解了项目的代码覆盖率、构建状态和单元测试状况,那么如何来装这个B呢?这个就需要看CI平台了,基本上都提供了渠道。比如Azure DevOps:

代码覆盖率、单元测试状况呢?这个就要回到刚才的Shields站点了:

如何添加贡献者的徽章?

这就需要在https://opencollective.com/为项目注册一个账户,然后就可以添加如下图所示的徽章了:

如何添加Nuget包的徽章?

这就不得不提到BuildStats.info了。

  1. 网址:https://buildstats.info/
  2. GitHub地址:https://github.com/dustinmoris/CI-BuildStats

配置起来也超级简单:

还支持构建历史的徽章。如上图所示,我们可以通过参数配置显示预发布的包的版本:

最后

徽章用得好,项目增色不少。以上内容仅为抛砖引玉,你也可以试试。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【Magicodes.IE 2.0.0-beta1版本发布】已支持数据表格、列筛选器和Sheet拆分

    https://github.com/dotnetcore/Magicodes.IE

    雪雁-心莱科技
  • JQuery:将文本转化成JSON对象应注意的问题

    在JQuery的许多方法中,很多方法的参数可以传入一个JSON对象,比如Ajax方法的第二个参数。怎么将文本转化成JSON对象,需要注意以下问题:

    雪雁-心莱科技
  • 在SharePoint环境下,dll资源脚本权限问题

              最近在用Ext.NET,因为是在SharePoint环境下使用,一直被这样一个问题所困扰着:在使用Ext.NET时,页面必须使用拥有管理权限...

    雪雁-心莱科技
  • 【工具介绍】海外经典用户行为数据分析工具——ClickTale

    主编前言: ClickTale是一个具有多年历史的“创新型”工具。用于帮助人们追踪数字世界的用户行为,促进用户体验的优化。 这一工具功能如何,优缺点何在,是否值...

    iCDO互联网数据官
  • JavaScript中的this基本问题

    在函数中 this 到底取何值,是在函数真正被调用执行的时候确定下来的,函数定义的时候确定不了。 

    wfaceboss
  • block和代理

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

    用户1451823
  • 【Golang语言社区】ROS开发扫盲-蓝牙、红外与WiFi的区别 你知多少?

    作为现今三大主流无线通讯技术,经过多年的发展和标准升级,三大无线标准和技术早已渗透在我们日常生活的方方面面。我们每天都离不开的智能手机就兼具蓝牙和WiFi的功能...

    李海彬
  • 了解一下MVC

    一直在说MVC和MVVM的区别,现实是连什么是MVC都不知道,于是好好学习了一下MVC。

    wade
  • 释放堆内存,Rust是怎么做的?所有权!

    这个概念是支撑Rust在编译期做内存安全检查的核心机制,也正是因为这个特性,我们认为Rust是内存安全的底层语言。虽然带GC垃圾回收器的语言虽然也是内存安全的,...

    袁承兴
  • 学会了C语言,多久可以熟悉JAVA?学会JAVA能干什么?

    从事软件开发十几年了,主要的开发方向是嵌入式,主要涉足到三种编程语言,c/c++ java,最早也是从C语言开始入行的,C语言在那个年代就是几乎是大学里面必备的...

    程序员互动联盟

扫码关注云+社区

领取腾讯云代金券