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

   -H host[.domain][:port]
          Set method:cgipath to http://host.domain:port.

   -l     Set method:cgipath to lynxcgi:/usr/lib.

   -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 /usr/lib.

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

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.

AUTHOR

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

SEE ALSO

   lynx(1), man(1), hman(1)

                            1 January 1998                     man2html(1)




Free and Open Source Software


Free Software Video

Useful Programs

Free Online Courses

Open Opportunity

Open Business