tinyurlをvimperatorから

与えられたURLが現在開いているURLをtinyurl化する:tinyurlコマンドと、tinyurl化されたURLを展開する:expandurlコマンドを追加するtinyurl.jsを書いた。
http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/tinyurl.js


普通のURLからtinyurlはAPIが用意されてて
http://tinyurl.com/api-create.php?url=http://d.hatena.ne.jp/hogelog/
とかにリクエスト送るだけでいいんですけど、残念なことに逆にtinyurl化されたURLはリクエストを送ると元のURLを返すようなAPIは用意していない。困ったなーと思ったんですけど、実はそんな困ることでもなかった。

XMLHttpRequest.channel.nameにリダイレクトのURLが格納されるのでそこを読めばいいだけだった。
なのでhttp://tinyurl.com/6dpndfに対してリダイレクト先が知りたいなら

util.httpGet('http://tinyurl.com/6dpndf').channel.name

とかすればいい*1。

ソースコードを読むのは楽しいですね。

Thanks

util.copyToClipboard(str, verbose)の第二引数使うように修正してコミット

teramako [vimperator] echopyって関数名が素敵。でも、わざわざechoしなくてもutil.copyToClipboard("hoge",true)で良いんだよなぁ 2008/12/17

http://b.hatena.ne.jp/teramako/20081217#bookmark-11325811


ちなみにechopyというネーミングは
http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/echopy.js
から

*1:util.httpGetはvimperatorが提供するXMLHttpRequestのラッパ関数

test