foldrr's weblog

旧ブログ http://d.hatena.ne.jp/foldrr/

Firefoxでサイト名を取り除いてページタイトルを短くするGreasemonkeyスクリプト

環境

問題

ブラウザへ登録したブックマークのタイトルが長すぎて見つけるのに苦労する。
特にページ名の先頭にサイト名があると邪魔。

解決

余分な名前を取り除いてくれるスクリプトを作成してみた。
settings に設定追加して使う。

(function (){
    var settings = [
        // Amazon
        {
            url: "http://www.amazon.co.jp/",
            patterns: [
                "^Amazon.co.jp: ",
                ":*$",
            ]
        },
    ];
    
    
    function wildcard_to_regexp(wildcard){
        var s = wildcard;
        s = s.replace(/\./g, "\\.");
        s = s.replace(/\*/g, ".*");
        s = s.replace(/\?/g, "\\?");
        s = s.replace(/\|/g, "\\|");
        s = s.replace(/\(/g, "\\(");
        s = s.replace(/\)/g, "\\)");
        return new RegExp(s);
    }
    
    
    function main(context){
        var href = location.href;
        for(var i = 0, n = settings.length; i < n; i++){
            if(0 <= href.indexOf(settings[i].url)){
                var title = document.title;
                
                for(var j = 0, jn = settings[i].patterns.length; j < jn; j++){
                    var re = wildcard_to_regexp(settings[i].patterns[j]);
                    title = title.replace(re, "");
                }
                
                document.title = title;
            }
        }
    }
    
    main(document);
})();