namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: pnamazu.cgi-98.10.01
On Mon, 5 Oct 1998 12:34:13 +0900
Rei FURUKAWA <furukawa@xxxxxxxxxxxxxxxx> wrote:
>
> 今までに、方法が 4 通り出てきました。
>
> (1) pnamazu の改造
> (2) namazu の改造
> (3) wrapper
> (4) mknmz の改造
>
> C 言語での改造に抵抗をお感じになるのであれば、私のお勧めする順番は、
>
> (3) > (4) > (1) > (2)
>
> です。
>
> 改造の場合、将来のバージョンで、同じ改造方法が通用する保証は無いので、
> メンテナンス性が落ちます。wrapper による方法ならば、その wrapper 自身
> は、全て原さんのものなので、管理が楽かと思います。
>
古川さんはじめいろいろな方々からアドバイスをいただきました。
当初、wrapper でテストしてみましたが、検索結果の上部のテキストボックスに
検索式を入れてサーチボタンをクリックすると、サーチボタンにより起動する
cgiが、namazu本体では、wrapperをぬけてしまうし、wrapperだと、初期検索
画面になってしまいます。
で、結局当初の方法でいくことにしました。(メンテナンス性の問題はあります
が)
原文書ファイル名と変換htmlファイル名との対応関係は例えば以下のようにな
っております。
補下補下.jtd → 補下補下(jtd).html
封.xls → 封(xls).html
したがって、pnamazu.pl の 検索結果出力 の $st を以下のようにアレンジ
しました。
$st =~ s!(\<A HREF=\")(.*?)(%28)(\w\w\w?)(%29)(\.html?)(\">)(.*?)(</A>)
!$1.$2.$3.$4.$5.$6.$7.$8.$9."\<br> 【".$1.$2.".".$4.$7."原文書".$9.
"(".$8.".".$4.")"."】"!e;
$st =~ s!(\<A HREF=\")(.*?)(%28)(\w\w\w?)(%29)(\.txt)(\">)(.*?)
(\(\w\w\w?\)\.txt \(Text File\))(</A>)!$1.$2.$3.$4.$5.$6.$7.$8.$9.$10.
"\<br> 【".$1.$2.".".$4.$7."原文書".$10."(".$8.".".$4.")"."】"!e;
この場合、原文書のファイル名はコード化されたままなので、タイトル名+
識別子を表示して、ユーザがダウンロード時に、これを本来のファイル名の
代りにしてコード化文字列に代替できるようにしてお茶をにごしてあります。
ファイル名デコードも pack なにやらを使用して一二行加えればできるのでは
とは考えておりますが、問題はろくなファイル名がついていないということです。
原 ( mithara@xxxxxxxxxxxxxxxx )