man2html(1)                                           man2html(1)

       man2html - format a manual page in html

       man2html [options] [file]

       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

       The  main  part  of  man2html  is the troff-to-html engine
       written by Richard Verhoeven (   It  adds
       hyperlinks for the following constructs:

       foo(3x)           "http://localhost/cgi-bin/man/man2html?3x+foo"
       method://string   "method://string"     ""     ""
       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).

       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

       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

       -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-

       -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


       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.

       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.

       lynx(1), man(1)

                          1 January 1998                        1