Shields.ioと各種APIで独自のバッジを作って遊ぶ

https://shields.io のDynamicで遊んでいるだけの記事です。

興味あればこちらも参照ください
[Shields.ioを利用して作ったプラグインのユーザー数ダウンロード数のバッジを張る](https://qiita.com/ota-meshi/items/667e3adf50bdfc991c79)

※説明用のURLは見やすくするためパラメータで改行しています。
また、説明用のURLはラベルを設定して数字を取るだけのものです。
色やラベル名等自由に変更できますので詳しくは[公式](https://shields.io)を参照してください。
（あと、もしかしたら`maxAge`のパラメータは設定しておいた方が良いかもしれません。）

## Qiita 記事数  
[![Qiita items](https://img.shields.io/badge/dynamic/json.svg?label=Qiita&suffix=+items&query=$.items_count&url=https://qiita.com/api/v2/users/ota-meshi&colorB=55c500&maxAge=3600)](https://qiita.com/ota-meshi)

```:url
https://img.shields.io/badge/dynamic/json.svg
?label=Qiita
&suffix=+items
&query=$.items_count
&url=https://qiita.com/api/v2/users/【ユーザーID】
```

QiitaのAPI使ってます。
https://qiita.com/api/v2/docs#get-apiv2usersuser_id

## Qiita 記事のいいね数  
![Qiita いいね数](https://img.shields.io/badge/dynamic/json.svg?label=Qiita&suffix=+いいね&query=$.likes_count&url=https://qiita.com/api/v2/items/4799f490ecc8c8cf6422&colorB=55c500&maxAge=10)

（この記事の「いいね」と連動してるので「いいね」してくれたら数値が変わるはず。ぐへへ:money_mouth:）

```:url
https://img.shields.io/badge/dynamic/json.svg
?label=Qiita
&suffix=+いいね
&query=$.likes_count
&url=https://qiita.com/api/v2/items/【記事のID(?)】
```

QiitaのAPI使ってます。
https://qiita.com/api/v2/docs#get-apiv2itemsitem_id


## Facebook シェア数

[![Facebook share](https://img.shields.io/badge/dynamic/json.svg?label=Facebook&url=https://graph.facebook.com/?id=https%3A%2F%2Ffuture-architect.github.io%2Fcoding-standards%2Fdocuments%2FforJava%2FJava%25E3%2582%25B3%25E3%2583%25BC%25E3%2583%2587%25E3%2582%25A3%25E3%2583%25B3%25E3%2582%25B0%25E8%25A6%258F%25E7%25B4%2584.html&query=$.share.share_count&prefix=share+&colorB=4267b2&maxAge=3600)](https://future-architect.github.io/coding-standards/documents/forJava/Javaコーディング規約.html)

```:url
https://img.shields.io/badge/dynamic/json.svg
?label=Facebook
&prefix=share+
&query=$.share.share_count
&url=https://graph.facebook.com/?id=【URL】
```

【URL】は要エンコード。難しいので https://shields.io/#/ の **Dynamic** で作る方がいい。

[Graph API](https://developers.facebook.com/docs/graph-api)というものを使ってます。


（普通のHTMLなら[シェアボタン](https://developers.facebook.com/docs/plugins/share-button/)とかを貼ったほうがいいかも）

## はてなブックマーク件数

[![はてなブックマーク](https://img.shields.io/badge/dynamic/json.svg?label=はてなブックマーク&suffix=+users&query=$.count&url=http://b.hatena.ne.jp/entry/jsonlite/https%3A%2F%2Ffuture-architect.github.io%2Fcoding-standards%2Fdocuments%2FforJava%2FJava%25E3%2582%25B3%25E3%2583%25BC%25E3%2583%2587%25E3%2582%25A3%25E3%2583%25B3%25E3%2582%25B0%25E8%25A6%258F%25E7%25B4%2584.html&colorB=00a4de&maxAge=3600)](http://b.hatena.ne.jp/entry/s/future-architect.github.io/coding-standards/documents/forJava/Javaコーディング規約.html)

```:url
https://img.shields.io/badge/dynamic/json.svg
?label=はてなブックマーク
&suffix=+users
&query=$.count
&url=http://b.hatena.ne.jp/entry/jsonlite/【URL】
```

【URL】は要エンコード。難しいので https://shields.io/#/ の **Dynamic** で作る方がいい。

[はてなブックマークエントリー情報取得API](http://developer.hatena.ne.jp/ja/documents/bookmark/apis/getinfo)のlite版使ってます。
[はてなブックマーク件数取得API](http://developer.hatena.ne.jp/ja/documents/bookmark/apis/getcount)でもよかったのですが、一件取得はJSON形式でないのでうまくいかないのと、複数件取得でもqueryに工夫が必要なのでやめました。

（普通のHTMLなら[はてなブックマークボタン](http://b.hatena.ne.jp/guide/bbutton)を使ったほうがいいかも）


## Package Control詳細なダウンロード数（installs）
### 丸めないダウンロード数  
下記のように通常のAPIを利用すると`k`等で丸められてしまう。
Package Control:[![Package Control](https://img.shields.io/packagecontrol/dt/uroboroSQL Formatter.svg?maxAge=3600)](https://packagecontrol.io/packages/uroboroSQL Formatter) https://img.shields.io/packagecontrol/dt/【パッケージ名】.svg

以下のように書くと丸めずに取れる。

[![Package Control installs](https://img.shields.io/badge/dynamic/json.svg?label=Package Control&suffix=+installs&query=$.installs.total&url=https://packagecontrol.io/packages/uroboroSQL%2520Formatter.json&colorB=ff9800&maxAge=3600)](https://packagecontrol.io/packages/uroboroSQL Formatter)

```:url
https://img.shields.io/badge/dynamic/json.svg
?label=Package Control
&suffix=+installs
&query=$.installs.total
&url=https://packagecontrol.io/packages/【パッケージ名】.json
```

[Package Controlのページ](https://packagecontrol.io/)でパッケージ表示するページURLの最後に、
`.json`ってつけるとjsonで取れる様子。

### 特定OSのみのダウンロード数  
例はWindows
[![Package Control installs(Win)](https://img.shields.io/badge/dynamic/json.svg?label=Package Control&prefix=WIN+&suffix=+installs&query=$.installs.windows&url=https://packagecontrol.io/packages/uroboroSQL%2520Formatter.json&colorB=ff9800&maxAge=3600)](https://packagecontrol.io/packages/uroboroSQL Formatter)

```:url
https://img.shields.io/badge/dynamic/json.svg
?label=Package Control
&prefix=WIN+
&suffix=+installs
&query=$.installs.windows
&url=https://packagecontrol.io/packages/【パッケージ名】.json
```

他にも`"linux"` `"osx"` が出来そう。



## 天気

東京の天気
![東京の天気](https://img.shields.io/badge/dynamic/json.svg?label=東京&query=$.forecasts[0]['date','telop']&url=http://weather.livedoor.com/forecast/webservice/json/v1?city=130010&maxAge=3600)
![東京の天気](https://img.shields.io/badge/dynamic/json.svg?label=東京&query=$.forecasts[1]['date','telop']&url=http://weather.livedoor.com/forecast/webservice/json/v1?city=130010&maxAge=3600)
![東京の天気](https://img.shields.io/badge/dynamic/json.svg?label=東京&query=$.forecasts[2]['date','telop']&url=http://weather.livedoor.com/forecast/webservice/json/v1?city=130010&maxAge=3600)

```:url
https://img.shields.io/badge/dynamic/json.svg
?label=東京
&query=$.forecasts[0]['date','telop']
&url=http://weather.livedoor.com/forecast/webservice/json/v1?city=130010
```

[Weather Hacks|お天気Webサービス](http://weather.livedoor.com/weather_hacks/webservice)というものを使ってます。
最後の`130010`は東京のIDで、各地域のIDは下記リンクのXMLに書いてあるらしい。
http://weather.livedoor.com/forecast/rss/primary_area.xml
詳しくは[お天気Webサービス仕様](http://weather.livedoor.com/weather_hacks/webservice)に書いてある。

`&query=$.forecasts[0]['date','telop']`の部分は`
&query=$.forecasts[1]['date','telop']`とすれば明日になる（たぶん）