namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 対象文書のあるディレクトリを表示するには?
森本です
On Wed, 28 Oct 1998 13:44:54 +0900,
seigo <ishiyama.seigo@xxxxxxxxxxxxxxxxx> wrote:
> yahooの検索結果みたいな感じですね。これを全て手動で行ったんでしょう
いやいや、いくら、なんでも、そんな、まさか。
# そんだったらフロッピーの山から探すほうが楽ですよ(泣)
sed だか perl だかで書いたと思います。忘れましたが。
動くのを確認して、あとは ほったらかしてました。
2〜3 年後に見たら、なくなってました(笑)
> > namazu or pnamazu を改造する(笑)
> そうですね。でも過去に事例があるなら参考にしたいなと思いました。
失礼、まずお話を伺ってみないとなんともいえなかったので。
pnamazu だとこんな感じかしら?
*** pnamazu-98.10.01/src/namazu.pl Thu Oct 1 12:23:00 1998
--- namazu.cgi Wed Oct 28 14:29:49 1998
***************
*** 398,409 ****
&output("$dt$Ndx. $st (score: $Score{$key})\n") if $Format ne 'veryshort';
&output("$summary\n") if $Format eq 'long';
$dd =~ s/\n+/\n/g, $dd =~ s/ size \(\d.*$//g if $Format eq 'veryshort';
! &output("$dd");
}
last if ($Whence + $Max) <= $Ndx && $Max;
}
&message("</DL>\n");
}
}
sub putcurrentextent{
--- 398,432 ----
&output("$dt$Ndx. $st (score: $Score{$key})\n") if $Format ne 'veryshort';
&output("$summary\n") if $Format eq 'long';
$dd =~ s/\n+/\n/g, $dd =~ s/ size \(\d.*$//g if $Format eq 'veryshort';
! &output(&splitlink($dd));
}
last if ($Whence + $Max) <= $Ndx && $Max;
}
&message("</DL>\n");
}
+ }
+
+ sub splitlink{
+ my ($link, $desc) = ($_[0] =~ m|^<DD><A HREF="([^"]+)">[^<]+</A>(.*)|);
+
+ if($link =~ s|^ftp://||){
+ my ($url);
+ my ($buf) = '<DD>';
+ my ($segment) = 'ftp://';
+ my (@array) = split('/', $link);
+
+ while(@array){
+ $segment .= shift @array;
+ $url .= $segment;
+ $buf .= sprintf('<A HREF="%s">%s</A>', $url, $segment);
+ $buf .= '/' if @array;
+ $segment = '';
+ $url .= '/';
+ }
+ return $buf;
+ }
+
+ $_[0];
}
sub putcurrentextent{
.. 森本 淳 (Jun Morimoto) ...........................................
.. IMAGICA Internet Planning Bureau - `Marib' .......................
.. morimoto@xxxxxxxxxxxxxxxxxxx http://members.xoom.com/morimoto/ ...