|
|
||
:tw buffer.URL
みたいな機能が欲しくて
liberator.execute(":tw "+buffer.URL)
というjavascriptをmapしていたけど,これだと,urlを確認できずに投稿されるのが嫌だった.
つぶやいてみたら,teramakoさんから解決策を提案された.
再度検索したら既に
http://d.hatena.ne.jp/zenpou/20101114/1289739386
のコメント欄で議論されていた模様.
要は,abbrevを用いてコマンドラインでbuffer.URLを展開するという作戦.
結局
cabbrev -javascript URL buffer.URL
map ,T <esc>:tw URL<space>
として使っている.
最後のスペースがミソと思っている.
初めは
commandline.open(":","tw "+buffer.URL)
とか書いてみたけど,よくわからん挙動をするのでやめた.
本腰入れてjavascriptを勉強してみるかな.
http://vimperator.g.hatena.ne.jp/nkmrtkhd/20091008 で作ったreblogコマンドは,アドレスにtumblrを含むかどうかでreblogするかを決めているので,独自ドメインでtumblrしているページはリブログ不能だった.
そこで,オツネさんのコメントを参考に改良した.
libly.jsの関数を使っているので,_libly.jsは必須です.
javascript <<EOM commands.addUserCommand( ['reblogall'], 'reblog all', function() { var itab=0; var ntab=tabs.count; liberator.echo(ntab); for(itab=0;itab<ntab;itab++){ if(plugins.libly.$U.getFirstNodeFromXPath('//*[@id="tumblr_controls"]')){ //reblog and close liberator.echo('rebloging',itab); liberator.execute('tombloo ReBlog\ -\ Tumblr'); liberator.sleep(1000); liberator.execute('tabclose'); }else{ //next tab liberator.echo('no reblog'); liberator.execute('tabnext'); } } } ); EOM
一行の改良なのに,xpathの解析に苦労した.
.emacsや.bashrc, .vimperatorrcをdropboxに放り込んで,
ホームディレクトリにはdropboxにあるファイルのリンクを張った.
これでどのPCでも同じ設定ファイルを使えて,とても幸せな気持ちになれる.
しかしhomgepageの設定がバラバラでイライラする.
設定パネルから設定しろって話だが,
めんどくさいのでvimperatorrcでやってしまいたい.
んで
set! browser.startup.homepage="http://google.com"
とかで設定してみたけど,vimperatorrcが読み込まれる以前にhomepageの表示が行われてしまうようで,vimperatorrcの読み込み完了後でなければ,以上の設定が反映されない.
うーむ.
こんなんできました.
reblogしたいページをがんがん開いておいて,
:reblogall
でいけるはず.
javascript <<EOM commands.addUserCommand( ['reblogall'], 'reblog all tabs', function() { var itab=0; var ntab=tabs.count; liberator.echo(ntab); for(itab=0;itab<ntab;itab++){ if(buffer.URL.toString().match(/\.tumblr/)) { //reblog and close liberator.echo('reblog'); liberator.execute('tombloo ReBlog\ -\ Tumblr'); liberator.execute('tabclose'); }else{ //next tab liberator.echo('no reblog'); liberator.execute('tabnext'); } } } ); EOM
javascriptは初めてだ.
otsuneXPathで id("tumblr_controls")[self::iframe] をBooleanで判定すればtumblrであるかが分かります。
KellsieThat's way more cvleer than I was expecting. Thanks!
nkmrtkhdSee also http://vimperator.g.hatena.ne.jp/nkmrtkhd/20110522
qsmsblzpl4C2Nk , [url=http://ebmbamyeicbo.com/]ebmbamyeicbo[/url], [link=http://amnpsguoghuh.com/]amnpsguoghuh[/link], http://xvkbkiypzgkk.com/
動かないのは、タイポのせい(weather_yahoo→weather-yahoo)じゃないかな、と思います!
完全にタイプミスでした.お恥ずかしい.
bloooさんありがとう.