DENU (端末/JSON/SVG用)にGITHUBの貢献を得るAPIを作りました.


私はこのプロジェクトを作成しました.
https://github.com/kawarimidoll/deno-github-contributions-api
デモはこちら

以下のURLをブラウザからアクセスしてくださいcurl , そして、指示に従ってください.
https://github-contributions-api.deno.dev/
私はエンジニアが楽しみを持っていたので、リッチUIを作成しようとしなかったが、むしろテキスト応答を介して説明を提供します.
ここでは,各apiについて簡単に説明した.自分でアクセスしてプレイしてみてください.

API
ときにアクセスhttps://github-contributions-api.deno.dev/[username] , あなたは、そのユーザーのための年間貢献の数とAPIのいくつかの記述が表示されます.
各APIは、URLの最後に拡張子を追加することによってアクセスできます/[username].text .

テキスト
これは最も単純で最も興味深いタイプです.それは貢献グラフのコンマで区切られたリストを出力します.
❯ curl https://github-contributions-api.deno.dev/kawarimidoll.text
2387 contributions in the last year
13, 5, 2, 4, 5, 9, 1, 2, 3, 3, 3, 8, 3,10, 1, 4, 1, 1, 6, 2, 4, 2,10,10,10, 9, 8, 6,13, 4, 7, 7, 6, 6, 3, 1,11, 1, 5, 2, 6, 6, 6,21,11,17,13,16, 2, 7, 6,10,12
 4, 0, 1, 5, 7, 1, 1, 3, 9, 1, 5, 8, 3, 1, 4, 5, 3, 1, 1, 1, 1, 6, 7,12, 5, 7, 5, 5,19, 2,20,11, 8,10,32, 4, 6, 2, 5, 4, 3, 3, 7,20, 5,17, 6, 5,13,14,22, 6,12
 0, 5, 0, 7, 8, 3, 3, 3, 2, 2, 5, 1, 1, 4, 1, 3, 1, 1, 2, 1, 1, 7, 5, 9, 4,10, 2,14,12,18,11,22, 6, 7, 7,14, 1, 3, 2, 5, 1,18, 5,20, 7, 4, 6, 5,16,14, 4,17, 2
 8, 5, 1, 4, 2, 5, 2, 4, 1, 5, 2, 3, 1, 4, 1, 1, 1, 1, 1, 2, 2, 4, 7, 5, 6, 4, 2, 6,18,16, 6, 6, 2, 2, 7, 9, 1, 4, 1, 4, 4, 9, 4,11, 5,20, 6,14, 7,16,15, 9,
 6, 1, 0, 0, 5, 1, 4, 3, 1, 6, 3, 2, 1, 1, 2,10, 1, 1, 1, 2, 2,11, 3,18, 4,15, 4,12,24, 4,23,15, 4,17, 8, 5, 4, 2, 2,14, 2,12, 6, 9, 1, 9, 4, 2,11,17,14, 7,
 2, 3, 3, 2, 3, 1, 3, 1, 9, 5, 6, 1, 1, 1, 3, 1, 1, 1, 1, 2, 1, 9, 7,23, 6,13, 6, 1,14, 6, 3,12, 3, 4, 6, 2, 1, 2, 6,14, 6,12, 6,15, 2,10, 4,18, 7,20, 5,11,
 7, 3, 3,10, 4, 5, 4, 3, 2, 4, 1, 6, 4, 1, 4, 2, 2, 3, 1, 2, 1,10, 7,28, 6,12, 8,17, 7, 6, 4,14,13, 3, 5,15, 2, 5, 4,11, 6,15,24,20, 8,19, 9, 9,23, 4,12,18,
貢献の総数の表示を削除することができますno-total パラメータ
カンマ区切りなので、CSVファイルに保存するのは面白いかもしれません.

用語
これが最も特徴的なタイプです.これは、この記事の冒頭のデモで示されているものであり、私が推進しているものです.
これはcurl , 端末のetc.
貢献の総数の表示を削除することができますno-total パラメータと凡例Less...More ) はno-legend パラメータ
加えて、あるscheme カラースキームを設定するパラメータpixel パラメータを指定すると、invert テキストの代わりに背景色を変更するパラメータ.
The pixel パラメータを指定すると、ASCII文字が正しくエンコードされていることがあります.
お使いのデバイスは、この作品に真の色をサポートしていることを確認します.

JSON
これは最も「APIのような」タイプです.それは、貢献の総数と毎週の貢献データの配列でストリングを含んでいるJSONを返します.
GithubのGraphSQL APIのラッパーだと言えます.
貢献データは、7日×53週の二次元配列ですが、それを使用して1次元配列として受け取ることができますflat オプション.
私は、あなたが何らかの目的のために貢献を使いたいとき、このタイプが源として利用されることができると思います.

SVG
これは最も直感的なタイプです.それはSVGイメージとして貢献グラフを返します.
それはGitHubユーザーページのものとほとんど同じです、しかし、公式のものはコーディネートを指定する際にいくつかのくずれを持っています.
それがイメージであるので、あなたはあなたの記事の上であなたの開発活動を示すことができます!

![svg](https://github-contributions-api.deno.dev/kawarimidoll.svg)
いくつかのオプションがあります.no-total , no-legend , scheme , font-color , frame and bg .

私はそれがどこでURLを使用して画像を添付することができます使用することができると思います.
便利にお使いください.

閉鎖
私はその結果に満足しています.なぜなら、作るのは楽しいし、完成した製品は視覚的におもしろく、成果を見ることができます.
この動画はお気に入りから削除されています.
https://github.com/kawarimidoll/deno-github-contributions-api
デコは本当に良い開発経験を持っています.
denoとdenoの展開を続けていきたいです.
これは次の記事の翻訳です.
翻訳の間違いがあればコメントを残してください.
https://zenn.dev/kawarimidoll/articles/b573f617a51c0b

エキストラ
虎🐯 それは星を与えた🌟! 圧倒的な感謝!
これもDeno公式Twitterによって拾われました!圧倒的感動!