Namazu-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Rwiki のデータファイルを扱う



Tietew です。ちょこっとだけ。

On Thu, 11 Oct 2001 00:01:32 +0900
In article <200110101501.AA00905@xxxxxxxxxxxxxxxxx>
[[namazu-users-ja] Rwiki のデータファイルを扱う]
DEQ <deq@xxxxxxxxxxxxx> wrote:

> (RD フォーマットの filter は存在するのでしょうか?)

必要があって作ったのがあります。HNF Filter を書き換えて使ってい
ます。ついでなのでここで公開しちゃおうかと思ったのですが,かなり
ハードコードがあって汎用で使えないので躊躇中(^^;

基本的に,rdtool (rd2) に投げて,できた HTML を html filter に喰
わせています。

▼こんな感じ
    my $tmpfile = util::tmpnam("NMZ.rdfilter");
    {
        my $f = util::efopen("|$ENV{'HOME'}/bin/rd2 > $tmpfile");
        print $f $$contref;
    }
    util::cdie("rd2 failed") if $?;
    
    $$contref = util::readfile($tmpfile);
    unlink $tmpfile;
▲
かなりお手軽に作ったので遅いです。(perl から ruby 呼び出すし)

>   さらに検索結果のリンクでは,単純にそのファイルに対するリンクを張ると,
> RD フォーマットのファイルにリンクされるのですが,できれば rwiki で HTML として
> 表示させたく,
> Replace  (略)/docs/rd/  (略)/docs.cgi?cmd=view;name=
> (docs.cgi は rwiki の CGI プログラム) とすると,
> そのタイトルに space が含まれている場合は URL が次のようになり上手く表示されません.
> namazu(現状): (略)/docs.cgi?cmd=view;name=Infantry%2520Documents
> rwiki(本来): (略)/docs.cgi?cmd=view;name=Infantry+Documents
> これをなんとかするにはどのようにすればいいのでしょうか?

mknmz するときに --no-encode-uri するのがいいでしょう。
あと,filter で $fields->{'uri'} を直接書き換える(デコードして
しまう)というのもアリだと思います。


―[ Tietew ]――――――――――――――――――――――――――――
Mail: tietew@xxxxxxxxxx / tietew@xxxxxxxx
Web : http://www.tietew.net/  (Tietew Windows Lab.)
PGP fingerprint: 26CB 71BB B595 09C4 0153  81C4 773C 963A D51B 8CAA