开源利器分享:BitBar 坐看今天你的项目涨了多少 star

今天开头我想叨叨几句,我个人最近的感受。在这个信息爆炸,互联网的时代里。我的周遭总是充斥者着各种让人能产生焦虑的信息, 我不知道有没有小伙伴和我一样,看到各种神通广大、游戏人生的大侠,低头看看自己当前的处境和生活,默默的叹了口气。

我很长一段时间都处于被信息轰炸的焦虑中,感觉自己没有什么值得称赞的成就,自己再努力也追赶不上。就像那种要做的事情太多,无从下手,索性就随他去了, 但是什么都不做导致要做的事情越来越多,从而会更加焦虑。这样的状态持续 2 个月,偶然的机会下我发现然了一个缓解这种压力的办法——读书。

你的问题主要在于读书不多而想得太多。——杨绛

技术的书籍有些啃不下去了,我就去看了《飞鸟集》好像真的平静了一些。减少了获取各种信息的途径,从书里看看智者眼睛里的世界。

When we rejoice in our fullness, then we can part with our fruits with joy.

当我们从追求充实中找到快乐时,便能愉快地和以结果为目的分手了。——《飞鸟集》

专注的做自己眼下、手上的事情,投入宝贵的时间,让时间把平凡的事情变得不平凡。我觉得快乐总来的很慢,但它永远不会缺席。

作者:HelloGitHub-削微寒

一、介绍

好了,以上就是我的心路历程和一些笨拙的经验。下面开始我们的正题吧:

项目地址:https://github.com/matryer/bitbar

今天推荐一个 GitHub 上开源的 Mac OSX Menu Bar 工具:BitBar,它可以载入各种类型的脚本输出信息。比如在 Menu Bar 上监控 GitHub 上的 Star 数量,展示的信息完全取决于你写的脚本。它有多香,容我慢慢道来。先看一张效果图:

二、上手

1.下载地址:https://github.com/matryer/bitbar/releases/tag/v1.9.2

2.解压

3.下载 plugins:https://getbitbar.com/plugins/BitBar

4.上面的插件是展示 BitBar 版本,效果展示:

这样整个程序就跑起来了,如果非程序员的话可以直接在第 3 步的官网上选择插件。下面我将写一个 Python 脚本用于获取 GitHub 的 star 数量,可以方便动态关注我的 HelloGitHub 项目 star 信息和增长。

三、编写脚本

因为我比较擅长 Python,所以我采用了 Python 脚本进行开发,当然 BitBar 支持很多语言比如:Ruby、JS、Go、Swift 等等。

先不考虑如何展示到 Menu Bar 部分,先解决如何获取 GitHub 上的项目 star。为了让整个过程简单不考虑环境,以下脚本将采用 Python 的标准库。

3.1 申请 GitHub token

想要通过 GitHub 接口获取数据必须要有一个 token,所以需要先在自己的 GitHub 上申请一个 token( https://github.com/settings/tokens/new ),什么额外的权限都不用勾选,然后点击最下面的 Generate token。

然后把生成的 token 复制出来,保存好后面要用到的!

3.2 GitHub API

获取数据的方式采用 GitHub API,文档地址:https://developer.github.com/v3/ 。

获取项目信息的接口:https://api.github.com/repos/用户名/项目名称获取首页的信息流:https://api.github.com/users/用户名/received_events

比如 HelloGitHub 项目:

https://api.github.com/repos/521xueweihan/HelloGitHubhttps://api.github.com/users/521xueweihan/received_events

通过命令行先验证下 token:curl -H "Authorization: token 你申请的 token" 请求的接口

3.3 开始编码

上面接口和 token 都准备好了,下面就是编写脚本了。

脚本很简单,一个请求、解析 GitHub API 的方法,然后是获取项目的总 star 数和今日 star 增长。整个脚本可以直接拿来用,把最上面的几个常量参数写上自己的信息和 token 就行了,运行结果如下:

<code>HelloGitHub 今日增长: 62✨共计:32k/<code>

3.4 通过 BitBar 运行

首先创建一个目录,然后把写好的脚本放进去,脚本的命名规则:名称.运行间隔.文件后缀,比如:GitHub.30m.py 每半个小时执行一次。然后然后给脚本增加执行权限,命令:chmod +x 文件名。(重要)最后点击 BitBar 的 Choose Plugin Folder,选择脚本所在的目录。

4.Refresh all 手动刷新一下,最终效果如下:

四、结尾

由于时间仓促,我只写了一个展示 GitHub 项目 star 的简单示例。有兴趣的小伙伴可以自己动手编写、定制自己关心信息的数据脚本。好了,今天的项目你还满意吗?还想看那些项目欢迎留言告诉我~