Hatena::Groupvimperator

retletのvimperator

2011-04-28

mapのurlsオプションでウェブサービス最適化

15:06 |  mapのurlsオプションでウェブサービス最適化 - retletのvimperator を含むブックマーク はてなブックマーク -  mapのurlsオプションでウェブサービス最適化 - retletのvimperator  mapのurlsオプションでウェブサービス最適化 - retletのvimperator のブックマークコメント

map系のコマンドには-urlsオプションがあって、正規表現で指定したURLでのみ有効なキーマッピングを設定できる。

手軽にウェブサービス最適化して幸福になりましょう。

併用しているプラグイン/アドオン/ユーザースクリプト

hint-tombloo-mod.jsはhint-tombloo.jsをextractor決め打ちするようにいじったものなんだけどちゃんとvimpr/vimperator-pluginsに上げるべきか……。

実例:LDRでアクティブなエントリーをhogeする

[b] Tomblooでブックマーク。

nnoremap -u='^http://(reader\.livedoor|fastladder)\.com/reader/' b :tombloo Link - LDR<CR>

[r] 画像をTomblooでポスト。

表示範囲内に画像が一つだけなら自動的にポスト。複数あったらHit-a-Hintが出る。

nnoremap -u='^http://(reader\.livedoor|fastladder)\.com/reader/' r :xh r //*[contains(concat(" ",normalize-space(@class)," "), " hilight ")]//*[@class="item_body"]//img<CR>

" hint-tombloo-mod.js
let g:hint_tombloo_key = 'r'

[c] はてブコメントを表示。

エントリータイトルの下の「元記事」ってリンクが画面内にないと動かないです。

nnoremap -u='^http://(reader\.livedoor|fastladder)\.com/reader/' c :xh c //*[contains(concat(" ",normalize-space(@class)," "), " hilight ")]//*[@class="item_info"]/a[1]<CR>

" hatenabookmark.js
js <<EOM
liberator.globalVariables.hBookmark_shortcuts = {
    hintsComment : 'c',
};
if (typeof hBookmark != 'undefined') liberator.loadScript('chrome://hatenabookmark/content/vimperator/plugin/hatenabookmark.js', {__proto__: this});
EOM

[i][e][T] 先頭の画像をTomblooでポスト。

iとeはそれぞれポストしつつ次|前のエントリに移動。

lazy fmaps -u='^http://(reader\.livedoor|fastladder)\.com/reader/' -events=vkeypress i,Tj e,Tk T

(feedSomeKeys_3.jsとlazyコマンド使用だけど今更なんで省略)

ldrtombloo.user.jsのソースにポストタイプを画像にしたいURLを指定する箇所があるので、「http://」を追加して全部画像にしてしまう。Linkとかは上の方法でやるし、対象のエントリーが*.tumblr.comの場合はちゃんとReBlogになってくれるので問題ない*1

// FFFFOUND / Flickr / iza newsphoto
if([
    (中略)
    'http://'
    ].some(function(pattern){
        return feed.channel.link.indexOf(pattern) != -1;
    })){
    
    ctx.onImage = true;
    ctx.target = $x('.//img[1]', body);
}

その他

[F] Tumblr Dashboardで元ソースのみを対象にHit-a-Hint出す。

あんまり練れてないけど、単純にHit-a-Hintの表示を絞るみたいな使い方もありだと思う。

nnoremap -u='^http://www\.tumblr\.com/(dashboard|tumblelog|show)' F :xh t //*[@class="quote_source"]//a[not(@class="tumblr_blog")]|//*[@class="caption"]//a[not(@class="tumblr_blog")]<CR>

*1:これとは関係なしに独自ドメインTumblrの場合ReBlogになってくれないんだけど、ポストタイプをReBlogに指定するみたいなことできませんかね

DaroldDarold2011/07/09 13:41You cloudn’t pay me to ignore these posts!

njxneudnjxneud2011/07/10 00:50HTxPVW <a href="http://doahbppqrulq.com/">doahbppqrulq</a>

MatildaMatilda2011/07/10 02:04My hat is off to your atsute command over this topic—bravo!

bqmjalcmwybqmjalcmwy2011/07/10 20:32BDdK4q , [url=http://omznqziohvgn.com/]omznqziohvgn[/url], [link=http://pwhdtblxwest.com/]pwhdtblxwest[/link], http://vpkbisxxhkrf.com/

ypwmawdviyypwmawdviy2011/07/11 19:53npMDSk <a href="http://lxzjxbtxhxca.com/">lxzjxbtxhxca</a>

lcgpsuavyvhlcgpsuavyvh2011/07/12 00:49A1uqCC , [url=http://ranawlathlay.com/]ranawlathlay[/url], [link=http://vfeyxvqgwsdu.com/]vfeyxvqgwsdu[/link], http://dcvajvgxetll.com/