はてなブックマーク サーチプラグイン for Firefox
作ったんですよ。先ほど。
動機
ボクはよく、自分がはてブでブクマした記事を後になってからタグ検索して読み返したり参照したりするんだけど、その検索もサーチバー内でできたらいいなあと思って、mozillaで探したらdel.icio.usはあるのにはてブはない。 微妙に悔しくて、じゃあ作るかと思って先ほど3時間ぐらいで突貫で作ったんだけど・・・。*1
流れ
まずサーチバーの出所である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を参考にしてみた。
要するに最終的には
つまり、
サーチバー → 検索結果
となるところに
サーチバー → 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はGPL/LGPL/MPLライセンスのもとに開発、配布を行っています。開発に参加するには、以下のページを参照してください。
とあったので、報告がてら様子を見てみようとのぞいてみたら、投稿はおろか、メンバー表さえなかった・・・! 何この孔明の罠・・・!も、もう知らないんだからね・・・!
*1:ちなみに以前にも書いたけど、ツールバーは使ってません
