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/ ...