Akihiro MOTOKI
motok****@da*****
2011年 5月 16日 (月) 20:40:29 JST
元木です。 お返事が遅くなり申し訳ありません。 >>>>> Date: Wed, 27 Apr 2011 00:41:39 +0900 (JST) >>>>> From: "R4000 2.2" <tati****@kc5*****> >>>>> Subject: [JM:00251] チケット #24860 > > こんばんは、立花@鎌ヶ谷市です。 > > http://sourceforge.jp/projects/linuxjm/ > から、最近のチケット一覧を覗いてみると > チケット #24860 > http://sourceforge.jp/ticket/browse.php?group_id=5110&tid=24860 > というのがありました。 JM の man ページの HTML への変換には、man 付属の man2html を コンパイルして /home/groups/l/li/linuxjm/bin にコピーしています。 今回の問題ですが、先日 man2html を入れ替えた際に(*)、 man2html が生成する URL が変わってしまったのが原因でした。 以前は <A HREF="/cgi-bin/...." だったのですが、 これが <A HREF="http://localhost/cgi-bin/...." に変わっていました。 man を HTML に変換する Perl スクリプトでは、ハードコーディングで、 この部分を個別の man ページへのリンクに replace しているため、 こんなことになってしまいました。 当面の対処として、HTML の man ページを変換するスクリプトを修正して 従来通りに、各 man ページにジャンプができるように復旧しました。 (*) man2html を置き換えたのは、先日、[JM:00246] で立花さんから 商標マークの変換ができていない件を教えて頂いて、これを修正した時です。 > これ、単純に localhost を linuxjm.sourceforge.jp に書き換えても > man2html という cgiスクリプトはないですよね。 > man-1.6g を探してみると > man2html/scripts/cgi-bin/man/man2html > というシェルスクリプトがみつかりましたが、これを使うのもうまくない > ように思います。 > ふと、man on WWW で使ってる cgiスクリプトに似た動きができればいいんじゃ > ないかな、と man.cgi をとってきて、少し書き直したのを manlink.cgi として > cgi-bin に放りこみました。 > HTMLファイルを作成する時に > > % man2html -H linuxjm.sourceforge.jp -M /cgi-bin/manlink.cgi manファイル名 > > とすれば良い気がします。 bin/mkmanweb.perl で無理矢理変換しているのですが、 man2html のオプションを使いこなす方がきれいなので、 man2html のオプションを確認して bin/mkmanweb.perl を修正したいと思います。 コードをちゃんと確認せずにお聞きしまいますが、 manlink.cgi と man.cgi の違いは何でしょうか。 man.cgi の場合は、こんな URL が送られて、ページが一意に決まる場合は、 そのページに Redirect されるようになっています。 http://linuxjm.sourceforge.jp/cgi-bin/man.cgi?Pagename=connect&submit=Search%21&Sec1=on&Sec2=on&Sec3=on&Sec4=on&Sec5=on&Sec6=on&Sec7=on&Sec8=on > ちょこっとデバッグしてみただけなので不十分かもしれませんが、よろしければ > 使ってみてください。 > #perl初体験でした Perl の CGI は読みにくいですよね (^^;; JM のサイトのものは modern な framework は使わず、べた書きが多いですし。 -- Akihiro MOTOKI