livedoor Readerにフィードを追加するとき、自動的にチェックするgreasemonkey
を作りました。
// ==UserScript== // @name livedoor Reader auto checker // @namespace http://d.hatena.ne.jp/Koumei_S/ // @description Checks one checkbox automatically when you add feed to livedoor Reader. // @include http://reader.livedoor.com/subscribe/* // ==/UserScript== (function(){ var checkboxnum; var usernum = new Array(); var spannum = document.getElementsByTagName("span"); //フィード数が1つならばなにもしない //(spannum=フィード数+[既に登録しています]の数) if(spannum.length==1){ return; } for(i=0;i<spannum.length;i++){ //[既に登録しています]ならばなにもしない if(spannum[i].firstChild.nodeValue == "\uFF3B\u65E2\u306B\u767B\u9332\u3057\u3066\u3044\u307E\u3059\uFF3D"){ return; } usernum.push(spannum[i].firstChild.nodeValue.match(/\d{1,5}/)); } checkboxnum = calcheckboxnum(usernum); spannum[checkboxnum].parentNode.firstChild.checked = true; })(); function calcheckboxnum(usernum){ var maxusernum=usernum[0]; var maxuserfeed=0; for(j=1;j<usernum.length;j++){ if(maxusernum < usernum[j]){ maxusernum = usernum[j]; maxuserfeed = j; } } return maxuserfeed; }
チェックするフィードは、ユーザー数の最も多いフィードにしました。なぜならばユーザー数が0のフィードがあった場合、それを選択しないほうがlivedoor Readerがクロールするファイルが減り、負担が少なくなると思ったからです。
ユーザー数が同じ場合、リストの一番上をチェックします。
いくらプログラマの美徳が怠惰であるとはいえ、こんなもの使う人がいるかどうか疑問ですが、一応公開します。