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 netscape(1).

       The  main  part  of  man2html  is  the  troff-to-html engine written by
       Richard Verhoeven (  It adds hyperlinks for  the  fol-
       lowing 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 sections 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  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

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

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

              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                     man2html(1)