- 2008年3月15日 10:53
- Greasemonkey | おもろい | お役立ち | プログラミング
livedoor Reader(LDR)便利ですよね。
よく読むフィードには、レートをつけて時間がないときにはそれだけ読んでいます。
でも、ずっと不思議に思っていたのが、読み終わっていないフィードを既読にする時、すべてを既読にする機能しかなかったこと。
あっさり実現できるので何か意図があるはず(ポリシーのあるシステムは大好きです^^)なんですけど、5つ星レートも読みきれない時がある私には、たまりたまった4つ星レート以下を全部既読にしたくて、「レートごとに既読にできないかなー」と常々思っていました。
そんなある日、ぼーっと
LDR、「既読する」にショートカットキーを割り当てるGreasemonkeyスクリプト - 実用
を読んで、ついに脳みそのシナプスが発火しました(笑)
ldrshortcutkeyreadbyrate.user.js
livedoor Readerのフィードをレートごとに既読にするGreasemonkeyです。
0~5をショートカットキーにわりあてていて、押したショートカットのレートのフィード(例えば、5なら5つ星レート)が既読になります。
Greasemonkey(グリースモンキー)なのでFirefox限定です。
グリースモンキーについてはこちら(Greasemonkey入門 ~よくわかるグリースモンキーの使い方 ~ | Google Mania - グーグルの便利な使い方)が詳しいです。グリースモンキーはとんでもなく便利です。もうこれなしでは生きてゆけないw
ソースも短いのでさらしてみます。(ひー、変なところがあったら教えてください^^)
// ==UserScript== // @name LDR shortcut key read by rate // @namespace http://andre-garden.com // @description LDR shortcut key of 0..5 make rateing entry read. // @include http://reader.livedoor.com/* // ==/UserScript==window.addEventListener("load", function() {
var uw = unsafeWindow;
for (var k=0;k<=5;k++) {
var fn = 'function(){
var sl = uw.subs.model.get_by_rate(' + k + ').list;
for (var i=0;i<sl.length;i++)
uw.touch_all(sl[i].subscribe_id);
}';
uw.Keybind.add(String(k), eval(fn));
}
}, false);
追記
LDRってFirebugをはじくようになってるみたいなんですけど、こういう場合ってみなさんどうやって開発してるんでしょうね。ゴリゴリデバッグ。結局、jash使ったりしましたがどうも使い方がわかってないのでもどかしいです。
ブログ上のコード記法がめちゃくちゃになってきたので手抜きでtextareaにしました。
決定版みたいな方法どなたかおしえてほしいです^^;
更に追記(3/15 17:00)
ブログにコードを貼り付ける方法で悩むの巻 | IDEA*IDEAを参考に<pre class="code">...</pre>のスタイルにしました。
