■表示ページのカスタマイズ
mknmzが生成する検索結果表示用のtemplate(テンプレート)を元にNamazuによる検索の入り口になるトップページや検索結果を表示するページをつくってみましょう。NMZ.head.jaなどのtemplateはインデックスを作成したディレクトリに一緒に生成されます。jaが付いているファイルが日本語表示用です。

NMZ.head.jaなどのtemplateは文字コードがEUC-JPで記述されています。カスタマイズにはEUC-JPを扱えるテキストエディタなどが必要になります。

まず、Namazuによる検索の入り口になるトップページをつくります。
NMZ.head.ja、NMZ.body.ja、NMZ.foot.jaの3ファイルをベースにします。これらのファイルの中身はHTMLです。

各ファイルをテキストエディタで開き、copy&pasteで1つのファイルに合体してsearch.htmlとして保存します。新規に作成するファイル名は何でも構いません。

MS-DOSプロンプトでtemplateが置いてあるディレクトリにcdコマンドで移動し、

copy NMZ.head.ja+NMZ.body.ja+NMZ.foot.ja search.html

としてもsearch.htmlを作成できます。

<form method="get" action=" {cgi} ">

となっている個所のactionに関する記述をnamazu.cgi.exeを置いた場所(通常はWeb Serverの/cgi-bin/か/scripts/ディレクトリ)に書き換えます。action=" {cgi} "という記述は[探し方]などのリンクの部分にもあるので、これも書き換えます。

<form method="get" action="/cgi-bin/namazu.cgi.exe">

これでカスタマイズするページのベースができました。あとは好きなようにHTMLを書き換えてください。完成したsearch.htmlはWeb ServerのDocument rootなどに置きます。

複数のインデックスを作成し、チェックボックスを有効にする場合は、

<!--
<p>
<strong>検索対象:</strong>
<ul>
<li><input type="checkbox" name="idxname" value="foo" checked>foo
<li><input type="checkbox" name="idxname" value="bar">bar
<li><input type="checkbox" name="idxname" value="baz">baz
</ul>
</p>
-->

の<!--と-->を外します。


次に検索結果の表示ページをカスタマイズします。

namazu.cgi.exeを使って検索した場合、namazu.cgi.exeは同一ディレクトリに置いたcgi用の設定ファイル.namazurcのtemplateで指定したディレクトリを見に行きます。この指定したディレクトリにNMZ.head.ja、NMZ.body.ja、NMZ.foot.ja、NMZ.result.normal.ja、NMZ.result.short.ja、NMZ.tips.jaを置き、これらのファイルを好きなようにカスタマイズしておけば、検索結果の表示ページを変更できます。

カスタマイズしたtemplateを使う場合は、インデックスを作成するディレクトリとは別のディレクトリにtemplateを置く必要があります。インデックスディレクトリのtemplateを変更しても対象文書の追加、削除などでmknmzを再実行すると、templateの各ファイルが再生成され、カスタマイズした内容が標準の状態に上書きされてしまいます。

TOPに戻る miyazawat@hotmail.com