Sleipnir 2.00 のアドレスバー拡張メニューをカスタマイズしてみる

今使っているSleipnir 1.66 では"スクリプト" は使わず、"アドレスバー拡張メニュー" であれこれやるようにしてきました。

これらをSleipnir 2.00 でも使えるようにしてみました。今後正式版が出たときにこのあたりの仕様が変わる可能性がありますが、一応公開してみます。参考にしたのは以下のページ。

拡張メニューの設定ファイルの実体はSleipnir2 のインストールフォルダ内、"\resources\languages\japanese\default\GoButtonMenu.xml " というxml ファイルです。
Sleipnir 1.66 だとこのファイルに直接JavaScript を記述できましたが、Sleipnir 2.00 では直接書くことは出来ず、かわりにbookmarklet を使うようになっているようです。bookmarklet のファイルの置き場所はSleipnir2 のインストールフォルダ内、"bookmarklet" フォルダ以下になっています。
まずは簡単な例として、今表示しているページのタイトルとURL をクリップボードにコピーするスクリプトを作ってみます。
"GoButtonMenu.xml " に、以下の1行を追加します。

<item name="URL+title" action="bookmarklet:urlandtitle" />

次に、"bookmarklet" フォルダ内に"urlandtitle.js" という名前のファイルを作り、以下のようなスクリプトを書きます。

window.clipboardData.setData('text', document.title+'\r\n'+location.href);eval();

Sleipnir 2 のアドレスバーの右側、[移動] の更に右に小さな下向きの矢印があるのでそれをクリックすれば今追加したメニューが表示されるようになっていると思います。
これまでに比べて手間が増えたのが少し面倒といえば面倒ですが、設定ファイル自体は見やすくなるので、これはこれでよいかも。
ちなみに、"bookmarklet" フォルダ内に更にサブフォルダを作ることが可能です。例えば、"anchor" というサブフォルダを作ってそこに"urlandtitle.js" を入れたとき、"GoButtonMenu.xml " には

<item name="URL+title" action="bookmarklet:anchor/urlandtitle" />

と書き換えるだけでOK です。似たようなスクリプトは同じフォルダに入れて管理するのが良いと思います。
まとめると、Sleipnir 1.66 のアドレスバー拡張メニューで"$ほげほげ|javascript:hogehoge;" という形式になっていたものはJavaScript の部分だけを別ファイルに移せばよい、ということです。この要領でMT に投稿するためのBookmarklet もつつがなく移行できました。
はてな関係のはJavaScript を使っていなかったので、単純に

<item name="アンテナ" action="http://a.hatena.ne.jp/append?{URL}" />
<item name="ブックマーク" action="http://b.hatena.ne.jp/append?{URL}" />
<item name="RSS" action="http://r.hatena.ne.jp/append/{URL}" />

とするだけでOK でした。