EN JA
man2html(1)
man2html(1) FreeBSD General Commands Manual man2html(1)

名前

man2html -マニュアルページを整形して html にする

書式

man2html [options] [file]

説明

man2htmlfile として指定されたファイル (ファイル引き数がなかったり、 "-"が指定された場合は標準入力) を変換して、 man スタイルの nroff から html を生成し、結果を標準出力に表示します。 tbl はサポートしていますが eqn はしていません。返り値は常に 0 です。なにか問題が起こった場合は、エラーページが標準出力に表示されます。
 
これはスタンドアローンのユーティリティとしても使えますが、主な目的は、ユーザーが man ページを lynx(1), xmosaic(1), netscape(1) などの html ブラウザを用いて見ることができるようにするための補助をすることです。
 
man2html の主要部は Richard Verhoeven (rcb5@win.tue.nl) によって書かれた troff-to-html エンジンです。これは以下のような形式のハイパーリンクを付加します。
foo(3x) "http://localhost/cgi-bin/man/man2html?3x+foo"
method://string "method://string"
www.host.name "http://www.host.name"
ftp.host.name "ftp://ftp.host.name"
name@host "mailto:name@host"
<string.h> "file:/usr/include/string.h"

(上に列挙したものの内、最初のものについてはオプションによって調整できます-以下の記述を参照のこと) リンク先の確認は行われず、リンク先が存在していなくてもリンク行が生成されます。文書内部での、セクションなどへのハイパーリンクも生成されます。したがって bash(1) などの大きな man ページで必要な部分を探すのが楽になります。

 

オプション

標準入力から読み込む場合は、.so の展開をどうするかが必ずしも明白ではありません。そういうときでも、-D オプションを使えば、スクリプトの方でワーキングディレクトリの位置を明示することができます。
-D pathname
pathname の最後の二つ分を取り除き、変換を行う前にそこに chdir( dir) します。

-E オプションを用いると cgi スクリプトから簡単にエラーメッセージを生成することができます。

-E string
与えられたエラーメッセージを含むエラーページを出力します。

参照先が man ページであるハイパーリンクは、一般に以下のような形式で生成されます。 (訳注: method は、URL スキームを指します。以下ではメソッドと呼びます。)

<method:cgipath><man2htmlpath><separator><manpage>

デフォルトは上記 foo(3x) で示した通りですが、ハイパーリンクの各部は各種オプションを用いることでいろいろ設定できます。

-h
method:cgipath を http://localhost にします。デフォルトです。
-H host[.domain][:port]
method:cgipath を http:// host.domain:port に設定します。
-l
method:cgipath を lynxcgi: /home/httpd に設定します。
-L dir
method:cgipath を lynxcgi: dir に設定します。
-M man2htmlpath
man2htmlpath を設定します。デフォルトは /cgi-bin/man/man2html です。
-p
セパレーターを '/' に設定します。
-q
セパレーターを '?' に設定します。デフォルトです。
-r
cgi-bin path の代わりに、相対 html path を使用します。

httpd が稼働していないマシンでは、lynxcgi メソッドを使用すると、 lynx で man ページを閲覧することができます。 http デーモンが稼動している場合は、http メソッドを使えば、 lynx でも他のブラウザでも man ページの閲覧が可能です。オプション-l (`lynxcgi' の意味) は前者の動作を選択します。その場合、デフォルトの cgipath は /home/httpd になります。

 

一般には cgi スクリプトは

<path_to_script>/<more_path>?<query>

のようなかたちで呼ぶことができます。環境変数 PATH_INFO と QUERY_STRING がそれぞれ <more_path>と <query>に設定されます。 lynxcgi は PATH_INFO 部分を扱うことができないので、デフォルトでは `?' をセパレーターとするハイパーリンクを生成することにしました。オプション `-p' (`path' の意味) は '/' をセパレーターにします。一方 `-q' (`query' の意味) は '?' をセパレーターにします。

 

オプション-H host は ( localhost の代わりに) 用いるホストを指定します。環境変数 SERVER_NAME が設定されていれば、 cgi スクリプトから

man2html -H $SERVER_NAME

のように用いることができます。これによって、お使いのマシンを、man ページを提供するサーバーのように動作させることができます。

 

バグ

多くの発見的手法 (heuristic) が用いられています。出力は常に完全であるとは限りません。 lynxcgi メソッドは、これをサポートするように選択して lynx をコンパイルしなければ動作しません。セキュリティ上の問題があるかもしれません。
 

作者

man2html の原作者は Richard Verhoeven です。 Michael Hamilton と Andries Brouwer がその後の改良を行いました。現在のメンテナーは Federico Lucifredi <flucifredi@acm.org>です。
 

関連項目

lynx(1), man(1)
1 January 1998