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 )