summaryrefslogtreecommitdiffstats
path: root/man2html/man2html.1
blob: c1c25b35bdbedb995bda667d6ce6205c71b79fbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
man2html(1)                          General Commands Manual                          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  std-
       out.  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  en-
       able users to browse their man pages using a html browser like lynx(1), xmosaic(1) or net-
       scape(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 al-
       lows 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 op-
       tions.

       -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

              <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  hy-
       perlinks  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 prob-
       lems 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 cur-
       rent maintainer.

SEE ALSO
       lynx(1), man(1)

                                          1 January 1998                              man2html(1)