Support for the MS HTML Help system in the HTML back end. As yet I
[sgt/halibut] / doc / running.but
CommitLineData
0929484e 1\versionid $Id$
2
11f2edfa 3\C{running} Running Halibut
4
0a6347b4 5\I{running Halibut}In the simplest case, running Halibut is very
fc8e7adb 6easy. You provide a set of input files on its \i{command line}, and
7it produces a set of output files.
11f2edfa 8
fc8e7adb 9\c $ halibut intro.but gettingstarted.but reference.but index.but
10\e bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
11f2edfa 11
339cbe09 12This will generate a large set of \i{output files}:
11f2edfa 13
339cbe09 14\b \i\c{output.txt} will be a \i{plain text} version of the input
11f2edfa 15document.
16
f2ef00b5 17\b \i\c{output.hlp} and \i\c{output.cnt} will be an old-style
18\i{Windows Help} version of the same thing. (Most of the text is in
19\c{output.hlp}; \c{output.cnt} contains additional contents data
20used by the Windows help topic selector. If you lose the latter, the
21former should still be usable, but it will look less modern.)
11f2edfa 22
23\lcont{
f2ef00b5 24
25Note that to do this Halibut does not require any external software
26such as a \i{Help compiler}. It \e{directly} generates old-style
27Windows Help files, and therefore it doesn't need to be run on
28Windows to do so: it can generate them even when run from an
29automated script on a Unix machine.
30
11f2edfa 31}
32
339cbe09 33\b \c{output.1} will be a Unix \i{\cw{man} page}.
11f2edfa 34
339cbe09 35\b The set of files \c{*.html} will contain an \i{HTML} version of
36the document. If you have configured Halibut to generate more than
37one HTML file (the default), then the file \c{Contents.html} will be
38the topmost one that users should be directed to initially. If you
39have configured Halibut to generate a single file, it will be called
11f2edfa 40\c{Manual.html}.
41
43f61c25 42\b \c{output.info}, and some additional files \c{output.info-1},
43\c{output.info-2} etc., will be files suitable for use with GNU
44\c{info}.
45
0287083a 46\b \c{output.pdf} will be a printable PDF manual.
47
dd454546 48\b \c{output.ps} will be a printable PostScript manual.
49
0a6347b4 50\H{running-options} \ii{Command-line options}
51
52Halibut supports command-line options in case you don't want to use
53all of Halibut's \i{output formats}, or you want to configure the
54names of your \i{output files}, or you want to supply additional
55configuration on the command line. The supported options are listed
56here.
57
58Firstly, there are options which indicate which of the output
59formats you want Halibut to generate:
60
61\dt \i\cw{--text}[\cw{=}\e{filename}]
62
63\dd Specifies that you want to generate plain text output. You can
64optionally specify a file name (e.g. \c{--text=myfile.txt}), in
65which case Halibut will change the name of the output file as well.
66
67\dt \i\cw{--html}[\cw{=}\e{filename}]
68
69\dd Specifies that you want to generate HTML output. You can
70optionally specify a file name (e.g. \c{--html=myfile.html}), in
71which case Halibut will change the name of the output file as well.
72Specifying a file name here will also cause the HTML to be output in
73\e{only} one file, instead of the usual behaviour of producing
74multiple files with links between them. If you want to produce
75multiple files and configure their names, you will need to use the
76more complete file name configuration directives given in
77\k{output-html-file} (although you may want to do so on the command
78line, using the \c{-C} option).
79
80\dt \i\cw{--xhtml}[\cw{=}\e{filename}]
81
82\dd Synonym for \c{--html}.
83
84\dt \i\cw{--winhelp}[\cw{=}\e{filename}]
85
f2ef00b5 86\dd Specifies that you want to generate old-style Windows Help
87output. You can optionally specify a file name (e.g.
88\c{--winhelp=myfile.hlp}), in which case Halibut will change the
89name of the output file as well.
0a6347b4 90
91\lcont{
92
93Your output file name should end with \c{.hlp}; if it doesn't,
94Halibut will append it. Halibut will also generate a contents file
95(ending in \c{.cnt}) alongside the file name you specify.
96
97}
98
99\dt \i\cw{--whlp}[\cw{=}\e{filename}]
100
101\dd Synonym for \c{--winhelp}.
102
103\dt \i\cw{--hlp}[\cw{=}\e{filename}]
104
105\dd Synonym for \c{--winhelp}.
106
107\dt \i\cw{--man}[\cw{=}\e{filename}]
108
43f61c25 109\dd Specifies that you want to generate \cw{man} page output. You
110can optionally specify a file name (e.g. \c{--man=myfile.5}), in
111which case Halibut will change the name of the output file as well.
112
113\dt \i\cw{--info}[\cw{=}\e{filename}]
114
115\dd Specifies that you want to generate GNU \c{info} output. You can
116optionally specify a file name (e.g. \c{--info=myfile.info}), in
117which case Halibut will change the name of the output file as well.
118
119\lcont{
120
121Unless the \c{info} output format is configured not to (see
122\k{output-info}), Halibut will divide the \c{info} output into many
123small files. The extra files will have numeric suffixes on their
124names; so, for example, \c{output.info} might be accompanied by
125additional files \c{output.info-1}, \c{output.info-2} and so on.
126
127}
0a6347b4 128
0287083a 129\dt \i\cw{--pdf}[\cw{=}\e{filename}]
130
131\dd Specifies that you want to generate PDF output. You
4395e204 132can optionally specify a file name (e.g. \c{--pdf=myfile.pdf}), in
0287083a 133which case Halibut will change the name of the output file as well.
134
dd454546 135\dt \i\cw{--ps}[\cw{=}\e{filename}]
136
137\dd Specifies that you want to generate PostScript output. You
138can optionally specify a file name (e.g. \c{--ps=myfile.ps}), in
139which case Halibut will change the name of the output file as well.
140
67617323 141If you do not specify any of the above options, Halibut will simply
142produce \e{all} of its output formats.
143
0a6347b4 144Also, there is an option which allows you to specify an arbitrary
145\i\c{\\cfg} configuration directive (see \k{input-config}):
146
147\dt \i\cw{-C}\e{config-directive}\cw{:}\e{value}[\cw{:}\e{value}...]
148
149\dd The text following \c{-C} is expected to be a colon-separated
150list of strings. (If you need a literal colon, you can escape it
151with a backslash: \c{\\:}. If you need a literal \e{backslash}, you
152can do the same: \c{\\\\}.) These strings are used as the parts of a
153\c{\\cfg} directive. So, for example, the option
154
155\lcont{
156
157\c -Ctext-section-align:2:leftplus
158
159will translate into the configuration directive
160
161\c \cfg{text-section-align}{2}{leftplus}
162
fc8e7adb 163(Note that your shell may also take an interest in backslashes,
164particularly under Unix. You may find that the backslash with which
165you escape a colon must be doubled in order to make the shell pass
166it to Halibut at all, and to pass a doubled backslash to Halibut you
167might have to type four backslashes on your shell command line. This
168is not part of Halibut's own behaviour, and it cannot do anything
169about it.)
170
675958c3 171Configuration directives created in this way take effect after all
172other input has been processed. (In most cases, this has the effect of
173overriding any other instances of the directive in the input.)
174
0a6347b4 175}
176
177The options which set the output file names actually work by
178implicitly generating these configuration directives. When you
179specify \c{--text=myfile.txt}, for example, Halibut treats it
180identically to \c{--text -Ctext-filename:myfile.txt}. The Windows
181Help and man page formats work similarly. HTML is slightly
182different, since it also arranges for single-file output if you pass
183a filename to \c{--html}; so \c{--html=myfile.html} is equivalent to
cb0b173d 184\c{--html -Chtml-single-filename:myfile.html -Chtml-leaf-level:0}.
0a6347b4 185(See \k{output} for explanations of all these configuration
186directives.)
187
188In addition to these, there are also a few other options:
189
675958c3 190\dt \i\cw{--input-charset}\cw{=}\e{charset}
191
12bb4069 192\dd Changes the default assumed \i{character set} for all input files from
675958c3 193ASCII to something else. (\cw{-Cinput-charset} cannot be used for
194this, as \cw{-C} directives are processed after all other input, so
195wouldn't affect any files.)
196
197\lcont{
198
199Any \cw{\\cfg\{input-charset\}} directives within input files override
200this option.
201
202See \k{input-config} for more information about the input character set.
203
204}
205
f336fa9a 206\dt \I{character sets, enumerating}\i\cw{--list-charsets}
207
208\dd List character sets known to Halibut.
209
0a6347b4 210\dt \i\cw{--help}
211
212\dd Print a brief help message and exit immediately. (Don't confuse
213this with \c{--winhelp}!)
214
215\dt \i\cw{--version}
216
217\dd Print information about Halibut's version number and exit
218immediately.
219
220\dt \i\cw{--licence}
221
222\dd Display Halibut's licence (see also \k{licence}) and exit
223immediately.
224
225\dt \cw{--license}
226
227\dd US English alternative spelling of \c{--licence}.
228
229\dt \i\cw{--precise}
230
231\dd Report column numbers as well as line numbers when reporting
232errors in the Halibut input files.