[JM:00276] Re: チケット #24860

Zurück zum Archiv-Index

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




linuxjm-discuss メーリングリストの案内
Zurück zum Archiv-Index