LDRでのtumblrフィード消化を高速化(?)

tumblrにはdashboardというインターフェースが用意されていて、そこからfollowしているtumblrを見ることができます。が、あれは「tumblrのイマ!」を見るものと思っているのでほとんどはRSSリーダから見ているid:hogelogです。おはようございます。

というわけでLDR(とfastladder)から見るtumblrのエントリを「もう読んだことあるもの」と「"m"でマークしたもの」に色分けするGreasemonkeyスクリプトを書きました。
http://coderepos.org/share/browser/lang/javascript/userscripts/ldr_tumblr_color.user.js?


ピンク色の部分がマークしたもの、灰色のが既読のものです。


tumblrの海をたゆたうエントリの中にはReblogされて何度も何度も表われるものがあります。それがtumblrのおもしろい点の一つだと思うのですが、ちょっと長めのQuoteとかだと「どれ読んでみるか」と意識を切り替えて文章を読み始めたところで「これもう読んだことあるわ」とまた意識を切り替え、時間をロスしてしまうことがあります。時間のロスというか意識の切り替えにストレスが発生するという方が大きいかも。
購読するtumblrの数を減らせばそういうことは減るんですけど、そんな解決方法はつまらないですし。それをするならまずその目の前にある不思議箱を叩き壊すと良い。
「もう読んだことある」というのは機械的に判断できるところだから、そんなことに脳リソースを使うのはもったいないですしね。
「"m"でマークしたもの」も色分けする機能は、「もう読んだことある」と全く意識を裂かずにスルーするにはもったいないけど、まだreblogするほどではないか、くらいのエントリに対する色分けとして考えました。


今のところそれなりに動作してる気がします。reblogを検出するのには正規表現で切り出して、一致するものを探してるだけです。かなり適当です。

// image, quote and link
const NotePattern = {
    IMAGE: /<img src="[^"]+">/,
    QUOTE: /\u201C[^\u201D]+\u201D/m,
    LINK: /^<a [^>]*>/,
};

あと使い続けているとreblogを記憶しているハッシュがものすごい勢いで肥大化していきますね。一応ユーザコマンドからハッシュをクリアできるようにはしましたけど。

2008/1/28 19:29追記 MD5圧縮してみた

切り出したQuoteとかImage部分をそのままハッシュに登録してGM_setValueで記憶させてたのをMD5で圧縮して記憶させるようにしました。根本的解決じゃあないけど、肥大化の速度がなんぼか落ちるかな。

高度な JavaScript 技集md5使わせていただきました。このページにのってるライブラリとか、書かれた頃には「JavaScriptでこんなことやるかよ!」というネタだったのかもしれませんが、最近のJavaScript事情だと結構普通に利用されててその先読みっぷりがすごい。

ところで卒論の締切は明後日です。

test