2008/09/02

はてな
追記
teramakoさんがもっと良いの 作ってくれました。
きっとそっち使う方が幸せな、ともだちんこになれます。
ですので、私のはubiquityNeta.jsにリネームする事にします。


こう使うのですね?わかります。
(function() {
    if (typeof gUbiquity === 'undefined'return;
    liberator.commands.addUserCommand(["ubiquity"], "Ubiquity",
        function(arg, special){
            var anchor = document.getElementById("content");
            if (window.location == "chrome://browser/content/browser.xul")
                anchor = anchor.selectedBrowser;
            gUbiquity.openWindow(anchor);
            gUbiquity.__textBox.value = arg||'';
            var context = gUbiquity.__makeContext();
            var previewBlock = document.getElementById("cmd-preview").contentDocument.getElementById("preview");
            gUbiquity.__cmdManager.updateInput(arg||'', context, previewBlock);
            if (special) {
                gUbiquity.__cmdManager.execute(context);
                gUbiquity.closeWindow();
            }
        },
    { });
})();
使い方は
:ubiquity map osaka
でプレビュー表示
:ubiquity! map osaka
で直実行です。
ubiquity-vimperator
ソースはcodereposに置いておきます。
ubiquityNeta.js
ubiquityとvimperatorは、ともだちんこですね。わかります。

参考:
ゆびきちが相当面白い!! - ネットランダム

指基地なのか、指既知なのかは置いておいて、ユビキタス度アップ間違いなしのFirefoxアドオンである。

今後、Greasemonkeyにとって変わる可能性すらある。

っていうか、Vimperatorユーザ涙目!

http://d.hatena.ne.jp/fk_2000/20080901/p2

2008/08/05

はてな
途中まで書いて助けを求めたんですが、結局自分で書きました。
CodeRepos::Share - Trac

mattn誰か後は頼んだ... ゴブッ(吐血)

http://coderepos.org/share/changeset/17104
このリンク先のソースは不完全なソースです。

使い方は
:mixiecho
でエコーの一覧表示
:mixiecho ○○遺跡に落書きした!
でポストです。

これでtwitterの様にmixiを使って、マイミク外される事うけあいですね。
mixiecho.js
よかったらどうぞ。
i love vimperator!
※ teramakoさんからi love vimperatorの画像頂きました。

2008/08/04

はてな
vimではコマンドモード時に、<c-x>で現在のディレクトリを補完するようにしているので、これがvimperatorでもやれると便利と思った。
twitter.jsでは「%URL%」とか「%TITLE%」で現在のURLが置き換えられる様になってるけど、他のコマンドでも使いたい場合もある。
例えば、そろそろ誰かが「mixiecho」ってコマンド作ったとして
:mixiecho ちょっwwwコレ http://example.jp/
とかやりたい時には、またtwitter.jsと同じ実装しなきゃいけない。
ま、こんなので困るのは私だけかも。
(function() {
    liberator.mappings.addUserMap([liberator.modes.COMMAND_LINE], ['<c-x>'],
        "insert current URL to command line",
        function () {
            var cmdline = liberator.CommandLine();
            var curcmd = ':' + cmdline.getCommand();
            if (!curcmd.match(/ $/)) curcmd += ' ';
            cmdline.open(curcmd, liberator.buffer.URL);
        }
    );
})();
コマンドラインのコントロール名は決まっているので、そこにkeyEventをdispatchEventしても良かったけど、まっいいや。

2008/07/31

2008/07/24

はてな
とは言ってもUser Agent Switcherが必要なのですが...

使い方は
:ua MyUserAgent
でUser Agent Switcherに"MyUserAgent"という名前で登録されたUser Agentに変更します。
:ua Default
でリセット
:ua!
で設定ダイアログ表示となります。
急遽モバイルページに行きたいけどメニューに手を伸ばすの面倒臭いって方には使えるかも。
ちなみに私はデフォルトで登録されていた物の他に、DoCoMo、Vodafone、SoftBank、Hatenaクローラ等のUserAgentを登録してます。
uaSwitch.js
よろしければどーぞ。

2008/06/24

はてな
ようやくblosxomで動く用になりました。
tomblooハックス - share on WordPressにポストするためのMetaWeblog API « ku

アップデート 2008.6.24

mattnさんにいただいたBig Sky :: tomblooハックス90_MetaWeblog.jsのパスワードをパスワードマネージャに保存するパッチを文字化けしないようにしてtombloo - Google Codeにコミットしました。ページのView raw fileのところからダウンロードしてください。

http://ido.nu/kuma/2008/06/07/werwer/
google codeのtomblooから90_MetaWeblog.jsを取得し、"extensions/tombloo@brasil.to/chrome/content/library/"に入れると動きます。詳しい説明はkuさんのページを確認して下さい。
kuさんのスクリプトから、若干手を入れさせて頂いていてXMLRPCのエントリポイントである"extensions.tombloo.posters.MetaWeblog.endpoint"の他に"extensions.tombloo.posters.MetaWeblog.mediapath"という設定が出来る様になっています。
ブログツールの中には画像をアップロードするパスが設定出来る物もあり、環境に合わせて
mediapathの設定
の様に設定します。これで90_MetaWeblog.jsが使えるブログツールが増えたかと思います。恐らくMTでもendpointを
http://www.example.com/cgi-bin/mt/mt-xmlrpc.cgi
の様に設定すれば動きます。確認してませんが。
今回blosxomでは"SourceForge.net: BXR: Blosxom XML-RPC Interface"を使い、特定のカテゴリ(90_MetaWeblog.jsは「reblog」というカテゴリ)のみ
  • インデックスやRSSから隠す
  • dynamic_cacheしない
  • アクセスランキングに載せない
処理を入れ、reblogサイトっぽく動く様になりました。名づけてreblosxomとします!
blosxom-xmlrpc.cgiを色々なブログツールに対応させる為のパッチを当てれば、日本語周りや動的なカテゴリ変更などにも対応出来るblosxom-xmlrpc.cgiが出来上がります。オリジナルのBXRで上手く行かない人は試してみて下さい。
実際に以下の様にして
reblosxomでポスト
ポストした結果が「reblogカテゴリ」となります。
自分の写真しかreblogしてないので、全くreblogじゃないんですが家族や友人の写真からreblogなんて事ならokですかね...
わずか3クリック程でreblog出来てしまうtombloo & 90_MetaWeblog.js すばらしいです。

今回blosxomプラグイン等に行った修正は後日公開したいと思います。

ku++ brazil++ tombloo++ blosxom++

2008/06/20

はてな
これすごいわ。
wildoptions=autoとcomplete=lが凄い件 - Dis Communication - 符号無し

vimperator1.2pre 2008-06-19以降で実装されてるwildoptions=autoとcomplete=lがlifechangingだったので紹介しておきますね。

何が凄いって
:set complete=l
が凄い。「たかがtab押さなくても良くなっただけだよね」と思うでしょうが、使ってみたら無茶苦茶便利。
vimperator使いだと、おそらくURLを開くのに
:open http://...
とか「<c-l>」してアドレスバーにフォーカス合わしたりしてるかと思いますが、firefox3で登場したアドレスバーの便利機能(おせっかい機能とも言われてるらしい)、「AweSomeBar」
firefox-awesomebar
:open
で使えるのです。例えば
:open twitter teramako
とすると
vimperator-awesomebar
と出るんです。URLなんか殆ど打たなくても良くなります。あとは通常と同じくtabで選べばok。すばらしい。
これでおそらくvimperatorがブラウジング最速になったかと思います。

ところで、vimperator使ってると稀にパススルーモードが外れてしまい、「Google Readerでキーバインドが効かなくなった」とか「LivedoorReaderで上手く動かなくなった」って事になったりします。
私の場合、以下の様にキーマップして回避しています。
noremap <c-i> :js modes.passAllKeys = true<cr>
ただ、これを使ってて気づいたのですがどうやらvimperatorの補完はmapで実行する「:ex」コマンドにも反応してる臭い。これはいずれ直るかと思うけど気になる様だったらパッチを送ってみよう。 とりあえずは、mapで実行するんじゃなくてaddUserMap使ってやる事にした。
javascript <<EOM
liberator.mappings.addUserMap([liberator.modes.NORMAL], ['<C-i>'],
    'Pass through mode',
    function () { liberator.modes.passAllKeys = true }
);
EOM

新規投稿