14387 shaares
5333 private links
5333 private links
Halibut: yet another free document preparation system
Halibut is a documentation production system, with elements similar to TeX, debiandoc-sgml, TeXinfo, and others. It is primarily targeted at people producing software manuals.
What does it do?
Halibut reads documentation source in a single input format, and produces multiple output formats containing the same text. The supported output formats are:
- Plain ASCII text
- HTML
- PostScript
- Unix man pages
- Unix info, generated directly as .info files rather than .texi sources
- Windows HTML Help (.CHM files), generated directly without needing a separate help compiler.
- Windows WinHelp (old-style .HLP files), also generated directly.
- Other notable features include:
- Hypertext cross-references are ubiquitous where possible. In particular, the HTML and PDF output both have hyperlinks in every reference between sections, and throughout the index and contents sections. (It seems daft to me that so many PDF documents fail to have this; it's one of the most useful features of PDF.)
- Support for international characters via Unicode, with the ability to fall back to an alternative representation. For example, you can write \u00F6{oe}, and in output formats that support it you will see ‘ö’ whereas in those that don't you will see ‘oe’.
- Comprehensive indexing support. Indexing is easy in the simple case: as you write the manual, you just wrap a word or two in \i{this wrapper}, and those words will appear in the index.
- More complex indexing is also supported, such as
adding references to things you never explicitly said
rewriting the appearance of index entries for a consistent style
duplicating index entries to several places because you don't know which concept they'll be looked up under
merging references to several things into one combined list. - Portability. The Halibut source code is portable ANSI C (apart from a dependency on having at least a 32-bit platform), so it should run without change on Unix, Windows, BeOS, MacOS, VMS, or whatever other (non-16-bit) OS you fancy. (Well, you might have trouble outputting PDF under VMS, due to file typing issues. I dunno.)
- Configurability. Each output format supplies configuration directives, so it is easy to tailor the HTML output (say) to contain a standard header with links to other parts of a site, or to use a style sheet, or whatever.