This can be used as a stand-alone utility, but is mainly intended as an auxiliary, to enable users to browse their man pages using a html browser like lynx(1), xmosaic(1) or netscape(1).
The main part of man2html is the troff-to-html engine written by Richard Verhoeven (rcb5@win.tue.nl). It adds hyperlinks for the following constructs:
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" |
(The first of these can be tuned by options - see below.) No lookup is done - the links generated need not exist. Also an index with internal hyperlinks to the various sections is generated, so that it is easier to find one's way in large man pages like bash(1).
The -E option allows the easy generation of error messages from a cgi script.
The general form of a hyperlink generated for a man page reference is
with a default as shown above. The parts of this hyperlink are set using the various options.
On a machine without running httpd, one can use lynx to browse the man pages, using the lynxcgi method. When some http daemon is running, lynx, or any other browser, can be used to browse the man pages, using the http method. The option -l (for `lynxcgi') selects the former behaviour. With it, the default cgipath is /usr/lib.
In general, a cgi script can be called by
and the environment variables PATH_INFO and QUERY_STRING will be set to <more_path> and <query>, respectively. Since lynxcgi does not handle the PATH_INFO part, we generate hyperlinks with `?' as a separator by default. The option -p (for `path') selects '/' as a separator, while the option -q (for `query') selects '?' as a separator.
The option -H host will specify the host to use (instead of localhost). A cgi script could use
if the variable SERVER_NAME is set. This would allow your machine to act as a server and export man pages.