OpenSearch maker なるモノを作ったもののマニュアルがないので作成…('A`)
各入力フィールドやチェックボックス、ラジオボタンなどを設定して、generate searchplugin ボタンを押す事によって、OpenSearch に対応している UA で使用できます。以下、各項目について、PHP の関数を検索を行うプラグインを作成する例にならって説明していきます
XML ヘッダーを出力する の項目をチェックする事によって XML ヘッダー が生成されるファイルの先頭に付きます。OpenSearch の仕様では、XML ヘッダー は付きません
- <?xml version="1.0" encoding="UTF-8"?>
必須項目で省略できません。設定した名前が Firefox の検索バーに表示されます
- <ShortName>PHP 関数検索</ShortName>
省略できます。検索エンジンの簡単な説明を記述します
- <Description>PHP 関数を検索</Description>
省略できますが、省略された場合 UTF-8 が使われます。GET および POST メソッドで検索エンジンに対してリクエストされる際のエンコードを指定します。ここで指定するエンコード文字セット名称は IANA Character Set Assignments を参照してください
- <InputEncoding>UTF-8</InputEncoding>
省略できます。検索バーに表示される縦16ドット、横16ドットのアイコンファイルを指定します。base64 をチェックすると、アップロードされたアイコンファイルを Base64 でエンコードします。チェックしないと URL エンコード されます。アップロード処理が何らかの原因でエラーになった場合はサーチプラグインファイルは生成されません
- <Image width="16" height="16">data:image/x-icon;base64,Qk02AwAAAAAAADYAAAAo… (省略)</Image>
必須です。検索エンジンのサイト URL を記述します。実際に検索が行われる URL でなければなりません。URL として正しくない値を入力するとエラーとなり、サーチプラグインファイルは生成されません
GET または POST のいずれかを指定しなければなりません。簡単に説明すると GET メソッドは検索エンジンサイトのホスト名や検索語などのパラメーターを URL としてリクエストします。一方、POST メソッドは URL とは別に検索語などのパラメーターをデータとして送信し、検索エンジンにリクエストします
- <Url type="text/html" method="POST" template="http://www.php.net/search.php">
GET メソッドを指定した場合の例を以下に示します。後述のパラメーターを指定する事によって以下の様に出力します
- <Url type="text/html" method="GET" template="http://blog.alphaziel.info/">
- <Param name="s" value="{searchTerms}"/>
- </Url>
GET メソッドを指定し、パラメーターを指定しなかった場合には以下の様に出力します
- <Url type="text/html" method="GET" template="http://blog.alphaziel.info/?s={searchTerms}" />
メソッドが POST の場合は必須です。検索バーで入力した検索語をサーチプラグインに渡す為のキーワード {searchTerms} は値のどこかに設定しなければ、サーチプラグインに検索語が渡りません。また。記述する名前、値のどちらかが欠けていれば、エラーとなり、サーチプラグインファイルは生成されません
- <Param name="pattern" value="{searchTerms}"/>
- <Param name="lang" value="ja"/>
- <Param name="show" value="quickref"/>
generate searchplugin を押す事によって、サーチプラグインを生成し、ダウンロードダイアログが表示されるのでダウンロードを行います。アップロードされたアイコンファイルや生成されたサーチプラグインはダウンロードの段階で削除されます
ダウンロードしたサーチプラグインファイルを Firefox のプロファイルディレクトリの中の searchplugins ディレクトリにコピーまたは移動し、Firefox を再起動します
Firefox はサーチプラグインによって、検索バーに検索エンジンを容易に追加できます。このサーチプラグインの仕様は Firefox 独自の MozSearch と、IE など他のブラウザでも使用できる OpenSearch の二つの形式をサポートしています
詳細な資料は MDC の Creating OpenSearch plugins for Firefox - MDC と Creating MozSearch plugins - MDC です。後者の MozSearch は Mozilla プロジェクトのみの仕様なので、非標準となっています
実際に自分で OpenSearch プラグインを作成して見ようと色々と試してみて、解った事
で、MDC の資料を見ながら、実際にこのサイト用の検索プラグインを作って、検索プラグインの自動検出もできる様にしてみました…ついでに、検索部分のテンプレート多少手直し…
検索プラグインを作成する際に、いちいちエディタを起動して…なんてめんどくさいので、OpenSearch maker なるものを作ってみました。右のコンテンツメニューからもアクセスできます
HTTP リクエストのメソッドが POST のサイトの場合、Proxomitron 1 などを使っていくつか検索プラグインを作ってみました。名前を付けてリンク先を保存(K)... でダウンロードしてください