Man Pages

man2html(1) - phpMan man2html(1) - phpMan

Command: man perldoc info search(apropos)  

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

       -v or -V
              Output page containing version information.

       -f     Unused, kept for backward compatibility.

       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

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

       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.

       Richard  Verhoeven  was  the  original  author  of man2html.  Michael Hamilton and Andries Brouwer subsequently
       improved on it.  Federico Lucifredi <> is the current maintainer.

       lynx(1), man(1)

                                1 January 1998                     man2html(1)