Computer Science
man2html(1) man2html(1)
NAME
man2html - format a manual page in html
SYNOPSIS
man2html [options] [file]
DESCRIPTION
man2html converts a manual page as found in file (or
stdin, in case no file argument, or the argument "-", is
given) from man-style nroff into html, and prints the
result on stdout. It does support tbl but does not know
about eqn. The exit status is 0. If something goes wrong,
an error page is printed on stdout.
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 sec-
tions is generated, so that it is easier to find one's way
in large man pages like bash(1).
OPTIONS
When reading from stdin, it is not always clear how to do
.so expansion. The -D option allows a script to define the
working directory.
-D pathname
Strip the last two parts from the pathname, and do
a chdir(dir) before starting the conversion.
The -E option allows the easy generation of error messages
from a cgi script.
-E string
Output an error page containing the given error
message.
The general form of a hyperlink generated for a man page
reference is
<method:cgipath><man2htmlpath><separator><manpage>
with a default as shown above. The parts of this hyperlink
are set using the various options.
-h Set method:cgipath to http://localhost. This is the
default.
-H host[.domain][:port]
Set method:cgipath to http://host.domain:port.
-l Set method:cgipath to lynxcgi:/home/httpd.
-L dir Set method:cgipath to lynxcgi:dir.
-M man2htmlpath
Set the man2htmlpath to use. The default is /cgi-
bin/man/man2html.
-p Set separator to '/'.
-q Set separator to '?'. This is the default.
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 /home/httpd.
In general, a cgi script can be called by
<path_to_script>/<more_path>?<query>
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 gen-
erate 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
man2html -H $SERVER_NAME
if the variable SERVER_NAME is set. This would allow your
machine to act as a server and export man pages.
BUGS
There are many heuristics. The output will not always be
perfect. The lynxcgi method will not work if lynx was
compiled without selecting support for it. There may be
problems with security.
SEE ALSO
lynx(1), man(1)
1 January 1998 1
Back to the index