ついこないだから使い始めた「ブックマークレットを管理するブックマークレット、blummy」。wikipediaのblummlet(: blummy用に作られたブックマークレットのことをこう呼ぶそうで)はいくつかあったのですが日本語のWikipediaを検索するblummletがないので自作してみました。といってもイタリア語のWikipedia用blummletをちょっと直しただけなんですけどね。
Wikipedia (ja) lookup。あ、名前もほぼパクリですいません。
これをblummyに登録しとけば、調べたい単語をブラウザ上でドラッグして選択、blummyを開きWikipedia (ja) lookupをクリックすると選択した単語のページにジャンプします。
作成にあたってはホント大したことしてません。
blummyのサイト内、configのページで表示される各blummletをダブルクリックするとblummelet編集ページにジャンプしソースコードを見ることができます。他のユーザーが作った物でも編集はできませんがソースを見ることができます。イタリア語のWikipediaを検索するblummletを見ると以下のようになっていました。
javascript:(function(){q=Blummy.getSelection('Please enter a query for Wikipedia (ja) lookup:\n(You can also select some text before clicking this blummlet)');if(q){Blummy.href('http://it.wikipedia.org/wiki/Special:Seach?search='+escape(q)+'&go=Vai');}})()
えーと、見づらいので改行します。
javascript:(function(){
q=Blummy.getSelection('Please enter a query for Wikipedia (ja) lookup:\n(You can also select some text before clicking this blummlet)');
if(q){
Blummy.href('http://it.wikipedia.org/wiki/Special:Seach?search='+escape(q)+'&go=Vai');
}
})()
Blummy.getSelection()とBlummy.href()はblummyで用意されている関数で、Blummy.getSelection()で選択範囲を変数qに渡し、選択範囲がない場合は入力用のダイアログを開く。Blummy.href()で変数qに渡されたキーワードをWikipediaのURLに足してブラウザに表示する。って感じでいいんでしょうか。
ならばURLの部分をit.wikipedia.orgからja.wikipedia.orgに直せばいいじゃないかと思ったんですが、Safariの場合だけキーワードがエスケープしたまんまの状態で検索されてしまいました。で、最後の行のescape(q)の部分をencodeURIComponent(q)に直す。…うまくいきまいた。
で、変更後のコードは以下の通り。
javascript:(function(){q=Blummy.getSelection('Please enter a query for Wikipedia (ja) lookup:\n(You can also select some text before clicking this blummlet)');if(q){Blummy.href('http://ja.wikipedia.org/wiki/Special:Seach?search='+encodeURIComponent(q)+'&go=Vai');}})()
こんな感じで、検索系のサイトのほとんどは簡単にblummlet作れそうです。まあ使いそうなのはAmazonとかYahoo!オークションとか。
blummy自体、日本語のサイトで取り上げてるとこをあんまり見かけないのですが(ちなみに自分はweb2.0 Awardのページで発見)、やっぱり日本語のサービスに対応したblummletがないからですかね。使いたいサービスに対応したblummletさえ自作すればかなり便利に使えそうです。

