閲覧環境

firefox3.5, greasemonkey, autopagerize, minibuffer, LDRize + reblogcommand/deletecommand は前提。

詳細は http://d.hatena.ne.jp/myhoney0079/20081224/p4 を参照

vimperator

http://d.hatena.ne.jp/myhoney0079/20090502/p2 を参照。

が、このままだといくつかの conflict が発生するので、回避しなければなりません。@otsune, @retlet に教えてもらいました。

LDRize との conflict の解消

j,k のキーアサインが vimp に乗っ取られたりで、LDRize がうまく働きません。ldrize_cooperation.js で解決できます

http://coderepos.org/share/export/33913/lang/javascript/vimperator-plugins/trunk/ldrize_cooperation.js

これを ~/vimperator/plugin にぶちこむ。

ReblogCommand との conflictの解消

同じように、tが vimp に乗っ取られるので、t押しても :tabopen になってしまいます。feedSomeKeys_2.js でキーアサインをスルーさせます。

http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/feedSomeKeys_2.js

を同じく~/vimperator/plugin にぶちこむ。で、ちょっと設定追加:

http://d.hatena.ne.jp/teramako/20081018/p1

.vimperatorrc に以下を追加:

"feedSomeKeys2
autocmd LocationChange \\.tumblr\\.com/ :fmap! t n

hint-tombloo.js

キーボードだけで tombloo 経由でポストできるとうれしいですね。

http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/hint-tombloo.js

同じくつっこむ。

http://subtech.g.hatena.ne.jp/motemen/20090617/1245168701
にあるとおり、;R でヒントモードに入るので数字で画像を選択、"Extractor:" と聞かれるので、"Photo"と入力するとダイアログがでるのでリターンでポスト。

ポストするのは100%画像なんで、"Photo"の入力とダイアログ表示は省略したいところ。

以下パッチ。つってもやってることは extractor を "Photo" に決めうちして share() の第三引数を false に変えて(thx to @otsune)るだけ。これで画像をヒントモードで選択すればそのままポストされるようになります。

--- hint-tombloo.js-orig	2009-07-20 00:04:45.203125000 +0900
+++ hint-tombloo.js	2009-07-20 11:09:15.531250000 +0900
@@ -44,30 +44,41 @@
         }
 
         var extractors = tomblooService.check(context);
-
-        liberator.modules.commandline.input(
-            'Extractor: ',
-            function (string) {
-                var extractor;
-                for (let i = 0; i < extractors.length; i++) {
-                    if (extractors[i].name == string) {
-                        extractor = extractors[i];
-                        break;
-                    }
-                }
-                if (!extractor) return;
-
-                tomblooService.share(context, extractor, true);
-            },
-            {
-                completer: function (context) {
-                    context.title = ['Tombloo Extractors'];
-                    context.completions = extractors.map(
-                        function (_) [ _.name, _.name ]
-                    );
-                }
-            }
-        );
+	var extractor;
+	var string;
+	string = "Photo";
+	for (let i = 0; i < extractors.length; i++) {
+	    if (extractors[i].name == string) {
+		extractor = extractors[i];
+		break;
+	    }
+	}
+	tomblooService.share(context, extractor, false);
+	//        liberator.modules.commandline.input(
+	//            'Extractor: ',
+	//            function (string) {
+	//                var extractor;
+	//                for (let i = 0; i < extractors.length; i++) {
+	//                    if (extractors[i].name == string) {
+	//                        extractor = extractors[i];
+	//              break;
+	//          }
+	//      }
+	//      if (!extractor) return;
+	//
+		//                tomblooService.share(context, extractor, true);
+	//      tomblooService.share(context, extractor, false);
+	//  },
+	//  {
+	//      completer: function (context) {
+	//          context.title = ['Tombloo Extractors'];
+	//          context.completions = extractors.map(
+	//              function (_) [ _.name, _.name ]
+	//          );
+	//      }
+	//  }
+        //);
+	
     },
     function () hintXPath
 );

これでふつーに快適に reblog 生活が送れます。