やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

GitHubのコントリビューション(草)を書き出すツールを書いた

最近1年間しか表示されないのが不満だったので。

成果物

GitHubGitHub.Uploader.contribution.201706230855

コントリビューション(草)とは何か

このブログのタイトルにあるヤツ。GitHubのユーザページにあるヤツ。SVG形式。

問題

GitHubの草は現在から1年間分までしか表示できない。

解決案

  1. 1年が過ぎる前にGitHubサイトから草データを得る
  2. ローカルに蓄える
  3. 累計の草を作る

作り方

毎年分を吐き出す。

  • 1ユーザ1年分を1枚のSVGファイルとして出力する
  • 1SVGあたり1年の1月1日〜12月31日までが対象

他にもGitHubの草と違う点は以下。

  • 草の色を算出する方法がわからないので適当にやった
    • GitHubよりやや緑が濃い
      • GitHubと同じにしたいが、たぶんできない
        • GitHubのは最近値との比率だと思う。変化し続けるので同じにできない
  • 年と、その年の総合contribution数を書き出した

課題

  • ユーザごとにまとめたい
    • 現在までの累計コントリビュート数を見たい
    • 1年ずつSVGを見れるようにしたい
      • HTMLを書き出してSVGを参照する?
  • 複数ユーザを統合したい
    • アカウント問わず自分のコントリビュートを見たい
    • いつ頃、どのアカウントに対して貢献していたか見たい
  • 定期的に自動実行したい
  • 定期的に自動アップロードしたい

所感

課題がかなり大変そう。とくに自動化。自動化が一番やりたいところなんだが。