ami_GS's diary

情報系大学院生の備忘録。ネットワークの勉強にハマっています。

GitHubのContributionsをCUI上で表示するツール書いた

はじめに

僕といえばGitHubへの連続コミットということもあり、タイトルの通り、GitHubのContributions(以下の部分)をCUIで表示するツールを書きました。
f:id:ami_GS:20150124101938p:plain

ちなみにGoで書きました。ソースコードは以下
ami-GS/github_squares · GitHub

細かい技術

goquery

Go言語ではスクレイピングをする際、いろいろな選択肢があるのですが(go.net/html、go-html-transform等)、goqueryというものがjQueryライクにスクレイピングを実現するということで使ってみました。

四角の色付け

1日にどれくらいコミットしたかを色付けするためには”■”に緑の色付けをします。その場合は、

fmt.Sprintf("\x1b[38;5;%dm%v\x1b[0m", color, value)

とすればおk!
256色のリストはここです。

注意点

"https://github.com/ユーザ名"にアクセスすると、その中にcontributionsの緑色の四角の情報が入っている時と入っていない時があります。
なので、四角の情報を取るときは、"https://github.com/users/ユーザ名/contributions"にアクセスするとおそらくデータの取りこぼしがありません。

結果

結果です。
f:id:ami_GS:20150625213128p:plain


ちなみに

オプションで草生やせます
f:id:ami_GS:20150625213333p:plain