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のラッパ関数