May 21, 2006 at 11:07 am
· Filed under firefox
こちらからどうぞ。↓
http://www.akaiho.com/hatebSearch.html
以前ちょっと書いたヤツです(カツ紅 - はてなブックマーク サーチプラグイン for Firefox )。ちゃんと公開できるように仕上げてみました。
ほぼ完成してたのだけどそのまま放置してしまってたので一応まともにしてみたり。
詳細は以前書いたとおりで、はてなブックマーク検索はクエリとしてパラメータをとるようになってないので、整形する必要があったわけで。仕方ないので、ボクのサーバに整形のみ担当するhtmlが置いてあります。そこから検索結果にリダイレクトされる形なので、人によっては(はてな以外のサーバを通してる分)気持ち悪いと感じるかもしれません。何も記録とか監視とかしてないんですけどね。
一応中で何してるかというと、
これだけでっす。
これははてブ全体から検索するんですけど、「自分の」ブックマーク内だけから検索するモノは需要ありますかね・・・?
Permalink
May 13, 2006 at 1:23 pm
· Filed under firefox
作ったんですよ。先ほど。
動機
ボクはよく、自分がはてブでブクマした記事を後になってからタグ検索して読み返したり参照したりするんだけど、その検索もサーチバー内でできたらいいなあと思って、mozillaで探したらdel.icio.usはあるのにはてブはない。 微妙に悔しくて、じゃあ作るかと思って先ほど3時間ぐらいで突貫で作ったんだけど・・・。
流れ
まずサーチバーの出所であるmozdev(http://www.mozdev.org/ ) のmycroft(http://mycroft.mozdev.org/index.html ) でざっと開発情報斜め読みして、サンプルコード眺めてから手がけたんだけど問題が一つ。
サーチバーは内部ではformのinput扱いしてるみたいで、 name=value の形でしか扱えない仕様だということ。大抵のサーチエンジンはgetでquery=検索ワード という形で渡すんで問題ないのだけど、はてブの検索は”b.hatena.ne.jp/t/検索ワード”なもんだからちょっと違う。 要するにinputタグのname属性が要らなくて、検索ワードさえあれば良いのだけど、サーチバー側が”nameを与えないとイケナイ”仕様。中で読み込むコードはxmlに過ぎないので、自分なりに整形はできない・・・!
これだめじゃん!と思ってたんだけど、
ドキュメントをマジメに読んでたら、User Notesに似たような問題にぶち当たってる人がいて、そこのdetourを参考にしてみた。
要するに最終的にはタグ内のactionで指定されてるロケーションをブラウザに読みに行かせるので、そこにローカル環境においたhtmlを読みに行かせればいいと。
つまり、
サーチバー → 検索結果
となるところに
サーチバー → localのhtml(リダイレクト) → 検索結果
とワンステップ噛ませて、そのhtml内でjavaScriptで整形すればいいじゃまいか、と。
目から鱗っすよ、言われるとエライ簡単な事なんだけど。
でも、公開する事を考慮すると、ローカル環境に別に1ファイルインストールさせるのは少しやっかいだし・・・。 なので、ボクが色々置いてるサーバの方にUPして、そこを参照するようにすれば「とりあえず」はいいか、と。後々ははてな側に置いていただければ良いかなと。
srcファイル(サーチに使うファイル)は
name=”Hatena Bookmark”
description=”Hatena Bookmark - The social bookmark service in Japan”
queryCharset=”UTF-8″
action=”http://www.akaiho.com/hatebl.html”
searchForm=”http://b.hatena.ne.jp/t/”
method=”GET” >
こんな感じにして、(全部じゃないけど)
で以下の
これで一応動いたんで、わーい と喜んでたんだけど、これどう考えてもはてな側からすれば不審なサーバから検索リクエスト飛んできて気持ち悪いだろうなあ、あとで報告しないとなあ、と思ってるそばから、bad Gatewayで弾かれた。はやっ。 ご、ごめんよはてなの中の人・・・。
つうかボク、はてなばっかりハックしすぎかな!(笑)
後書き
作ってから改めてはてなの公式ツール見に行ったら、はてなダイアリーとか人力検索ならサーチバー用のプラグインがあった・・・! 先に見ろよって話だよな・・・。 はてブはなかったけど。
あと、そこに
Hatenabar(Firefox Extension)
開発に参加するには
HatenabarはGPL/LGPL/MPLライセンスのもとに開発、配布を行っています。開発に参加するには、以下のページを参照してください。
http://hatenabar.mozdev.org/
とあったので、報告がてら様子を見てみようとのぞいてみたら、投稿はおろか、メンバー表さえなかった・・・! 何この孔明の罠・・・!も、もう知らないんだからね・・・!
Permalink