namazu-ml(avocado)


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

Re: 対象文書のあるディレクトリを表示するには?



seigo <ishiyama.seigo@xxxxxxxxxxxxxxxxx> wrote:

>> <A HREF="ftp://ftp.foo.co.jp/">ftp://ftp.foo.co.jp</A>/
>> <A HREF="ftp://ftp.foo.co.jp/pub/">pub</A>/
>> <A HREF="ftp://ftp.foo.co.jp/pub/bar">bar</A>/
>> <A HREF="ftp://ftp.foo.co.jp/pub/bar/baz.tar.gz">baz.tar.gz</A>
>yahooの検索結果みたいな感じですね。これを全て手動で行ったんでしょうか?

そんな面倒な単純作業はぞっとします。単純なリンクなら

  % cd /usr/local/namazu/doc
  % find . -type f -print |\
    perl -ple 's!./!!;s!(.*)!<A HREF="$1>$1</A>!'
  <A HREF="ja/README.ja>ja/README.ja</A>
  <A HREF="ja/ToDo.ja>ja/ToDo.ja</A>
  <A HREF="ja/ChangeLog.ja>ja/ChangeLog.ja</A>
  <A HREF="ja/FAQ.html>ja/FAQ.html</A>
  ...

みたいにして作れます。複雑なものならスクリプトを書きます。


>> namazu or pnamazu を改造する(笑)
>そうですね。でも過去に事例があるなら参考にしたいなと思いました。
>どうもありがとうございます。

mknmz の 

     # FLIST へ書き出し <DT> の後に改行が欲しいのです
     print FLIST "<DT>\n<STRONG><A HREF=\"$url\">$title</A></STRONG>\n";
     print FLIST "<DD>$summary\n";
!    print FLIST "<DD><A HREF=\"$url\">$url</A> size ($cfile_size bytes)<BR><BR>\n";
     # 最後に空行を入れる(これは重要な仕様)
     print FLIST "\n";

の部分を

     # FLIST へ書き出し <DT> の後に改行が欲しいのです
     print FLIST "<DT>\n<STRONG><A HREF=\"$url\">$title</A></STRONG>\n";
     print FLIST "<DD>$summary\n";
!    $url =~ m!^(.*/)!;
!    $dir = $1;
!    print FLIST "<DD><A HREF=\"$dir\">$dir</A><BR><BR>\n";
     # 最後に空行を入れる(これは重要な仕様)
     print FLIST "\n";

のように変更すると良いかもしれません。

-- Satoru Takabayashi