はてブなど複数のSBMへの同時ポストやリスト表示などいろいろできるKeySnailプラグインXbookmarkをリリースしました。


先週に続き、KeySnailプラグインの連続リリースです。
いきなりですが、今日の日記はちょっと気合が入りすぎて長めになってしまいました。余裕のある時に読んでください。
さて、僕は複数のソーシャルブックマークサイトを複数併用しています。なんでそんな面倒な事をしているかといえば、ズバリ今のところ完璧なSBMがないからです。例えばはてブは日本人のユーザも多いので、SBMのなかではソーシャルな部分が一番充実していると思います。
ただ、はてブそのものの機能はシンプルですし、タグの入力機構も個人的にはかなりイマイチ感が漂います。
海外のSBMではdiigoというのがあります。ここは、サイトのキャッシュがとれたり、アノテーションツールがついていたりと、面白い機能がたくさんあるのですが、日本ではあまり利用されていないようで、ソーシャルな部分が十分でない気がします。
SBM自体は、ただサイトのURLとかタイトルを保存していくという非常にシンプルな仕組みのはずです。なら、もうちょっとシンプルかつ快適に入力できるインターフェイスでサクサク使いたいなーとか思います。
というわけで、今回リリースしたXbookmarkはいろいろなSBMを統一したインターフェイスで管理したいなーという個人的欲求からできてます。

その前にKeySnailについて

えーその前にKeySnailとは何ぞや、という話です。KeySnailプラグインのネタを書くときは常に書いているのでですが、今回も懲りずに書きます。
KeySnailはFirefoxのアドオンです。つまり今回のプラグインはFirefoxのアドオンKeySnailのプラグインXbookmarkということになります。ややこしいですが、世の中そういうものです。
んで、KeySnail自体はFirefoxで使う様々な操作にキーバインドを当てることを可能にしてくれます。
Home – keysnail – GitHub
キーボードからマウスに手を伸ばしたくない不精者、金銭的な問題からマウスを買えない人にとってはまさに必携のアドオンでしょう。
さらにすごいのがプラグインシステム。すでに公開されている様々なプラグインをインストールすることでFirefoxがさらに快適な環境へと大化けします。
たとえば、それはキーボードでサクサク操作できるtwitterクライアントであったり、ニコ動をキーボードでサクサク操作できる環境であったり、ToDoを管理するための環境であったりと、自分が好みの環境を、プラグインをインストールすることで、容易に作ることができます。他にどんなプラグインがあるか知りたい人は次のサイトを見てみてください。
Plugin – keysnail – GitHub
特にEmacsユーザの方には、馴染みのキーバインドがデフォルトで設定されているので、Emacsを使うような感覚で快適に使えるんではないかと思います。
KeySnailについては、作者のmoozさんが詳しく説明されているので、そちらを見た方が良いかもしれません。

手前味噌ながら、僕も以前レビューを日記に書いていたので、そっちも多少参考になるかもしれないです。

それではXbookmarkについて

やっと、Xbookmarkのお話。Xbookmarkは複数のSBMを統合的なインターフェイスで管理するためのプラグインです。今のところ、対応しているSBMは、はてなブックマーク、diigo、delicious、Google bookmarksの4つになります。要望があれば、他のSBMも追加していこうと考えています。
Xbookmark自体、いろいろ機能があるのでそれぞれについて分けて説明していこうと思います。

設定

設定は、とっても簡単。とりあえずKeySnailをインストールした段階で作成しているはずの.keysnail.jsを開きます。すると行の初めの方に%PRESERVE%というタグで囲まれた部分があると思いますので、そこに以下のスクリプトをコピペしておきましょう。1行目は後述するブックマークのリスト表示機能に使うSBMを選択する行です。以下の例でははてなブックマークを選択しています。hatebu,delicious,diigo,googleのいずれかを選択して書いておいてください。2〜6行目では、同時投稿するSBMを選択します。投稿するSBMをtrue、投稿しないSBMをfalseとしてください。また、deliciousではユーザ名が必要となるので、それも入力する必要があります。以下の例では、はてブ、diigo、deliciousに投稿してGoogle Bookmarkに投稿しない設定になってます。deliciousのユーザ名はhogeになってます。

[js]
plugins.options["Xbookmark_opt.Xbookmark_list"] = "hatebu";
plugins.options["Xbookmark_opt.diigo_post"] = true;
plugins.options["Xbookmark_opt.delicious_post"] = true;
plugins.options["Xbookmark_opt.delicious_username"] = "hoge";
plugins.options["Xbookmark_opt.google_post"] = false;
plugins.options["Xbookmark_opt.hatebu_post"] = true;

plugins.options["Xbookmark_opt.keymap"] = {
"C-z" : "prompt-toggle-edit-mode",
"SPC" : "prompt-next-page",
"b" : "prompt-previous-page",
"j" : "prompt-next-completion",
"k" : "prompt-previous-completion",
"g" : "prompt-beginning-of-candidates",
"G" : "prompt-end-of-candidates",
"D" : "prompt-cancel",
// Keydledo client specific actions
"o" : "local_open",
"h" : "local_show_hatebu_user",
"e" : "local_delete_bookmark",
"d" : "local_edit_tag"
};

key.setViewKey([‘C-c’, ‘b’], function (ev, arg) {
ext.exec("Xbookmark_post_bookmark", arg);
}, ‘ブックマークをポスト’, true);
key.setViewKey([‘C-x’, ‘b’], function (ev, arg) {
ext.exec("Xbookmark_show_bookmark", arg);
}, ‘最近のブックマークをリスト表示’, true);
key.setGlobalKey(‘M-x’, function (aEvent, aArg) {
ext.select(aArg);
}, ‘エクステ’, true);
[/js]

ここまで来たら、後はプラグインをインストールするだけ。以下のサイトからXbookmarkをインストールしておきましょう。インストールするにはXbookmarkのリンクを右クリックして下さい。
Plugin – keysnail – GitHub
これでセットアップは完了です。

複数のSBMへの同時投稿機能

それでは、Xbookmarkの機能のご紹介。まずはSBMへの同時投稿機能です。自分が投稿したい複数のSBMに対してタグやコメントと一緒に投稿します。各SBMの入力方法の違いはXbookmarkで吸収してくれるので統一したインターフェイスでブックマークを複数のSBMに投稿することができるようになります。インストールした段階でCtrlキーを押しながらcを押して、bを押すと次のようなフォームがFirefoxの下の方に出てくるはずです。

ここにタグを入力して、エンターを押すと今度はコメント入力のフォームが立ち上がります。コメントを入力して同じくエンターを押せば、ズババっと指定したSBMに投稿してくれるはずです。ちなみにタグの入力については補完機能があります。タグ入力中のTABキーを押すと補完候補が出てくるので、そこから選択すればサクサクタグも打てると思います。

ブックマークリスト表示機能

直近のブックマークをリストアップ表示する機能も備わっています。全部のSBMの画面を説明するのは、とてもしんどいのではてブの分だけご紹介。先ほど設定した時に「hatebu」としていれば、でCtrlキーを押しながらxを押して、bを押すと次のような画面が出てくると思います。

あえて、説明する必要もないかもしれませんが、項目は左からブックマークのタイトル、タグ、コメントブクマしているユーザ数、urlに投稿した日時となっています。
ここから更に、任意のブックマークを選択してでCtrlキーを押しながらiを押すとアクションメニューが出てきます。ここから選択したブックマークのタグを編集したり削除したり、果てにはブクマしている人を一覧にして表示することもできます。

おまけ機能

おまけ機能として、今見ているサイトのブクマコメントを見る機能もあります。ま、これはgreasemonkeyとかにもあるのであくまでおまけということで。。。
これを使うには、Altキーを押しながらxを押すとフォームが出てくるのでフォームに「Xbookmark_view_bookmark_users」と打っていきましょう。Emacsユーザにはお馴染みの操作ですよね。全部打たなくても途中まで入力すれば選択候補がかなり絞られてくるので、2、3文字入力すればOKだと思います。んで、それを選択してエンターすると次のような画面が出てくると思います。

さらにおまけ、diigoというSBMについて

実は、このプラグインを作った本当の理由は、diigoをメインのSBMとしているにもかかわらず、クロスポストするあまりいいツールがなかったということだったりします。
Diigo – Web Highlighter and Sticky Notes, Online Bookmarking and Annotation, Personal Learning Network.
diigoはdeliciousなどと比べると後出のSBMなのですが、その分いろいろ面白い機能がたくさんついてます。まず、いいのがキャッシュ機能。ブクマしたサイトのキャッシュdiigoがとってくれるのです。このサイトなくなったら困る、とかこれはいつかなくなりそう、と思ったときは、diigoにキャッシュを取っておくと精神衛生上すこぶる良いです。それと、面白いのがアノテーション機能。これはdiigoのアドオンをいれておかないといけないのですが、いれるだけの価値はあると思います。んで、アノテーション機能とは、その名のごとく、サイトに注釈をつけられるというもの。しかも、その注釈はdiigoユーザで共有することできるのです。また、付けた注釈にコメントも残すことができます。通常のSBMだと、コメントを残せるのは、URLに対して残すわけですが、diigoではサイトの中の特定の部分に残すことができるのですね。実際のアノテーションはこんな感じになります。

海外では、結構ユーザがいるみたいですが、残念ながら日本ではすんごく少ないみたいです。今回のプラグインを契機にdiigoユーザが増えてくれるといいなー。

最後に

かなり長くなってしまいました。今回のプラグインはまだできたてということでいろいろバグもあると思うので、バグ報告もらえるとうれしいです。また、こういう機能もあったらいいなー、なリクエストもお待ちしております。enjoy SBM!!