imageLoaderをVimperatorから使う+α

d:id:tomo_snowbug:20090619:1245430454 のimageLoaderというGreasemonkeyスクリプトがなかなか素晴しいので, Vimperatorから使えるようにするついでに機能拡張してみた.


拡張された機能

  • 表示/選択している画像をキーやボタン一つでローカルファイルに保存する
  • 画像直リンクでない場合(fotolife等)もリンク先に大きな画像があれば取ってくる
  • 画像直リンクではないがリンクURIから画像URIを推測できる場合(Google画像検索等)にURIフィルタでリンクを置き換える
  • imageLoaderの先読みが進み次第スライドショーを自動的に開始
  • スライドショーに移るときにVimperatorのキー操作を無効化(自動的にC-zする)
  • 設定パネルのスペルミスを修正

保存先は設定パネルで設定/追加可能. URIフィルタはprefs.jsにGreasemonkeyの設定を書けば増やせるけれど, 今のところインタフェースはなくGoogle画像検索にのみ対応.

必要なもの

使い方

:imageloader
:imgldr

基本的に, Greasemonkeyの方ではImageLoaderを無効にしておくことを想定して作られている(:imageloaderするとgmperatorが読み込んでくれる).

直リンクでない画像をうまく取ってこれないときはもう一度:imageloaderするか, :imageloader!を使うようにする. !をつけるとimageLoaderをロードした後, 強制的に画像の再読み込みをする.

既知の問題

  • :imageloaderした後, ページをリロードして再び:imageloaderすると, imageloader.user.jsが既に読み込まれてることになっててうまくいかない(gmperatorの問題?)
  • :imageloaderを連打すると, 読み込み開始がものすごく遅れる/画像が重複して挿入されたりする(だいぶ直したつもりなのでもう大丈夫かも)

予想されるFAQ

Q1
Vimperatorは使っていませんが, 拡張された機能を使いたいのでなんとかなりませんか?
A1
がんばればなんとかなりますがVimperator使った方が早いしその方がきっと幸せですよ.
Q2
キー入力以外から拡張されたimageLoaderを開始できませんか?
A2
がんばればできると思うのでがんばって下さい.
Q3
EmacsとKeySnail/firemacsユーザなんですがどうしたらいいでしょう?
A3
viper-modeとVimperatorを使うようにすれば幸せになれますよ.