Make Link で跳.jpを使えるようにするパッチ
Twitter 眺めてたら跳.jpなるURL短縮が出たようなので、昨日弄った勢いで、Make Link (Firefox のアドオン)で跳.jpを使えるようにするパッチを書いてみた。
設定に %cho.jp% とすると、跳.jp で短縮されたURLに置換されます。たとえば「%text% %cho.jp%」をフォーマットにしておくと「..たれろぐ.. http://沒.跳.jp」みたいになります。
たぶん昨日のパッチあてとかないとダメ。あと、jsファイルの文字コードはUTF-8で。
diff -urN makelink.orig/content/makelink/link_maker.js makelink/content/makelink/link_maker.js --- makelink.orig/content/makelink/link_maker.js Fri Dec 17 22:27:42 2010 +++ makelink/content/makelink/link_maker.js Sun Dec 19 22:54:07 2010 @@ -144,6 +144,14 @@ } copyText += shortenedUrl; break; + case 'cho.jp': + var shortenedUrl = this.urlShortener_.getChojpShortenedUrl(info['url']); + if (!shortenedUrl) { + this.logger_.warning('Failed to fetch shortened URL'); + return false; + } + copyText += shortenedUrl; + break; case 'input': copyText += prompt(format + '\n\nPlease enter the %input% text for\n--\n' + diff -urN makelink.orig/content/makelink/url_shortener.js makelink/content/makelink/url_shortener.js --- makelink.orig/content/makelink/url_shortener.js Fri Dec 17 22:15:18 2010 +++ makelink/content/makelink/url_shortener.js Sun Dec 19 22:53:59 2010 @@ -167,3 +167,17 @@ return null; } }; + +net.soylentred.makelink.UrlShortener.prototype.getChojpShortenedUrl = + function(url) { + this.logger_.logCall('getChojpShortenedUrl', arguments); + request = new XMLHttpRequest(); + request.open('GET', 'http://跳.jp/api?url=' + escape(url), false); + request.send(null); + if (request.status != 200 || !request.responseText) { + this.logger_.warning('Failed to fetch 跳.jp shortened URL.' + + ' Response code ' + request.status); + return null; + } + return request.responseText; +};