Edited at

Qiita記事のストック数を確認するbookmarklet

2017/11/29追記:API制限に気づいて修正

2017/12/01追記:レイアウト変更で使えなくなりました。気が向いたらなおします。

2017/12/01追記:2017/12/1のレイアウト変更に対応しました。

2017/12/03追記:<100100^に変えました。(どちらにせよ、しっくり来てないのでいい表現あれば知りたい・・・)

2017/12/03追記:100^100+に変えました。


はじめに

どれくらいストックされているのか気になったので、先人のbookmarkletを修正してみた。

先人:ストック数用のbookmarklet・・・v1版なので動かず

先人の先人:Qiitaの「いいね」に消された「ストック数」を復活させた・・・だいぶ前の奴なので動かず


bookmarklet


対象記事のみ


  1. URL欄に以下のコードを貼り付けたブックマークを作る。

  2. ストック数を見たいQiita記事を開いた状態で、1のブックマークを押下する。

  3. ストックボタン付近の表示が変わって、ストック数が見える。

javascript:(() => {

let path = window.location.pathname
, itemId=path.substr(-20, 20)
, url = `https://qiita.com/api/v2/items/${itemId}/stockers?per_page=100`;
if (path.match(/items/)) {
$.ajax({
url: url,
success :(t) => {
var over = (Object.keys(t).length == 100) ? "+" : "";
const stockerLink = $(`<a href="${url}">${Object.keys(t).length}${over}</a>`);
$(".it-Actions_item-stock").append(stockerLink);
},
error:() => {
alert("qiitaStock request error");
},
dataType:"json",
timeout:3e3}
);
}
})()


注意事項


  1. APIの都合で100以上の場合は、100+と表示します。

  2. あんまり実行すると「Rate limit exceeded」で怒られてしばらく使えなくなります。用法用量1を守ってお使いください。

  3. stockersのリンクは、JSONファイルを生表示します。
    JSON-viewrとかの拡張機能をブラウザに入れてご確認くださいませ。


もう使えないおまけ

2017/12/1のレイアウト変更で使えなくなりました。

もともと使い勝手も良くないので、修正するつもり無いですが、一応残しておきます。


検索結果の一覧全て


  1. URL欄に以下のコードを貼り付けたブックマークを作る。


  2. 記事検索した状態で、1のブックマークを押下する。

  3. 右端くらいにストック数が見える。

javascript:(() => {

$(`.searchResult`).each(function(i, elem) {
var itemId = $(elem).attr(`data-uuid`);
var url = `https://qiita.com/api/v2/items/${itemId}/stockers?per_page=100`;

$.ajax({
url: url,
success :(t) => {
var over = (Object.keys(t).length == 100) ? " over" : "";
var html = `<li>stockers:<a href="${url}">${Object.keys(t).length}${over}</a></li>`;
$(elem).find(`.searchResult_sub`).find(`ul`).append(html)
},
error:() => {
alert("qiitaStockList request error");
},
dataType:"json",
timeout:3e3}
);
});
})()

以上






  1. 1時間に60回。詳細は、QiitaAPIv2ドキュメント>概要>利用制限。