IT戦記 このページをアンテナに追加 RSSフィード Twitter

2009-01-23

はてスタの引用をまとめる Greasemonkey を書きました。

このように

引用機能を使って伝えたいことを表現するときってありますよね><

f:id:amachang:20090123181312j:image

f:id:amachang:20090123181311j:image

f:id:amachang:20090123181310j:image

f:id:amachang:20090123181309j:image

f:id:amachang:20090123181308j:image

f:id:amachang:20090123181307j:image

f:id:amachang:20090123181306j:image

f:id:amachang:20090123181305j:image

f:id:amachang:20090123181304j:image

でも、いちいちマウスを横に動かしてくのがプルプルするんです!プルプルするんです!

というわけで

以下のようにまとめてくれるグリモン書いた

f:id:amachang:20090123181303j:image

ご自由にお使いください

// ==UserScript==
// @name           Quote Matome
// @namespace      http://d.hatena.ne.jp/amachang/
// @include        http://*
// ==/UserScript==

(function(f) {

    // Greasemonkey から prototype をいじるトリック
    unsafeWindow.location.href = 'javascript:(' + f + ')();void(0);' 

})(function() {

    // はてスタ使ってないページ
    if (!window.Hatena || !Hatena.Star) return;

    // uri から Hatena.Star.Entry のインスタンスを取得するための辞書
    Hatena.Star._entryMap = {};

    // Hatena.Star.Star の quote プロパティを _quote プロパティに変える
    Hatena.Star.EntryLoader.entries.forEach(function(e) {

        // ついでに辞書に登録
        Hatena.Star._entryMap[e.uri] = e;

        e.stars.forEach(function(s) {
            s._quote = s.quote;
            delete s.quote;
        });
    });

    // Hatena.Star.Star に quote セッターを作る
    Hatena.Star.Star.prototype.__defineSetter__('quote', function(quote) {
        return this._quote = quote;
    });

    // Hatena.Star.Star にゲッターを作る
    Hatena.Star.Star.prototype.__defineGetter__('quote', function() {

        // 自分自身が所属する Hatena.Star.Entry を取得する
        return Hatena.Star._entryMap[this.entry.uri].

                   // スターを取得
                   stars.

                   // 同じ名前のスターだけ抽出
                   filter(function(s) { return s.screen_name == this.screen_name }, this).

                   // 引用を持っているスターを抽出
                   filter(function(s) { return s._quote }).

                   // 引用文字の抽出
                   map(function(s) { return s._quote }).

                   // 結合
                   join(' ');
    });

});

カラオケ行ってきた

カラオケいきたい - IT戦記

てなことを言っていたら、 id:mizzusano が企画してくれて、 id:lovecallid:wadap も来て楽しかった!

なんか、あまりにも世代が合いすぎておもしろかった。ロマンスの神様も聞けたし。

「大塚愛のさくらんぼとかめちゃめちゃ新曲だよねー。」とか言えちゃうくらいの 90 年代っぷり。

意外と「A・RA・SHI」が難しかったなー。ちょっと新曲過ぎたかな。

個人的には、 id:mizzusano & id:wadap のチャゲアスが良かった。

非生産的っていいな。

$ karaoke > /dev/null

そのあと、居酒屋で「本当はあれ歌いたかったんだけど、空気探ってたんだよねー」てな話が出て、「俺も俺も」みたいな感じで意気投合。

で、解散後は、テンションあがったまま MCP の試験勉強して、さっき MCP も受かったし、なんか爽快な気分だ