Bash Cures Cancer
Learn the UNIX/Linux command line

Home     Man Pages     SpamDefeator


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:
  1. as
  2. file
  3. tbl
  4. enable
  5. users
  6. man
  7. links
  8. find
  9. clear
  10. script
  11. last
  12. dir
  13. httpd
  14. host