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 fol-
lowing 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"
"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).
OPTIONS
When reading from stdin, it is not always clear how to do .so expan-
sion. 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
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.
-r Use relative html paths, instead of cgi-bin paths.
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
/?
and the environment variables PATH_INFO and QUERY_STRING will be set
to and , respectively. Since lynxcgi does not han-
dle 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 local-
host). 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 select-
ing support for it. There may be problems with security.
SEE ALSO
lynx(1), man(1)
1 January 1998 man2html(1)
UNIX/Linux commands referenced on this page:
- as
- file
- tbl
- enable
- users
- man
- links
- find
- clear
- script
- last
- dir
- httpd
- host