1 Overview

Warning: All of this information, with the exception of command-line options and search directories associated with command line options (see Loading Initialization Files and Search Paths), may become obsolete in a future Texinfo release. Right now, the “API” described in this chapter is immature, so we must keep open the possibility of incompatible, possibly major, changes. Of course we try to avoid incompatible changes, but it is not a promise.

This manual describes how to customize the texi2any HTML output. Although some of the features here can technically be used with other output formats, it’s not especially useful to do so, so we’ll write the documentation as if HTML were the target format. Most of the customizations are only available for HTML.

The conversion of Texinfo to HTML is done in two steps. After reading command-line options and init files, input Texinfo code is parsed into a Texinfo Perl tree and information is gathered on the document structure. This first step can only be customized to a certain extent, by using the command-line options and setting customization variables. The Texinfo Perl tree describes a Texinfo document in a structured way which makes it easy to go through the tree and format @-commands and other containers.

The second step is the conversion step done in a converter. The HTML converter takes a Texinfo Perl tree as input and transforms it to HTML. The code that is used to go through the tree cannot be customized, but the conversion of tree elements can be fully customized.