+ </itemizedlist>
+ </para>
+
+ </chapter>
+
+ <chapter id="hacking-documentation">
+ <title>Hacking Documentation</title>
+
+ <para>
+ This manual is written in XML and transformed via a XSLT
+ stylesheet into valid DocBook/XML to be again transformed via a
+ XSLT stylesheet into the final formats.
+ </para>
+
+ <para>
+ This two pass processing is required to keep the file size low
+ and to sanitize use, i.e. drastically lower the typing
+ overhead.
+ </para>
+
+ <para>
+ To achieve the latter, the sources come with a file called
+ <literal>muttng-manual.xsl</literal> introducing the
+ <literal>muttng-doc</literal> namespace which offers the following
+ tags to be used (<emphasis>note: this is far from being
+ complete, any help towards consistency is <emphasis
+ role="bold">highly</emphasis> appreciated</emphasis>).
+ </para>
+
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term><literal><muttng-doc:man name="" [sect=""]/></literal></term>
+ <listitem><para>
+ <emphasis>References to manual pages.</emphasis> If the
+ <literal>sect</literal> parameter is omitted, it'll
+ be 1 for the commands section. There's no auto-indexing yet.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><muttng-doc:envvar name=""/></literal></term>
+ <listitem><para>
+ <emphasis>References to environment
+ variables.</emphasis> The <literal>name</literal>
+ parameter must contain upper-case letters only without
+ the dollar sign as it'll be added automatically.
+ Auto-indexing under <emphasis>Environment
+ Variables</emphasis> is done.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><muttng-doc:hook name=""/></literal></term>
+ <listitem><para>
+ <emphasis>References to hooks.</emphasis> The string
+ <literal>-hook</literal> will be added automatically to
+ the value given in the <literal>name</literal>
+ parameter. All entries will be auto-indexed under
+ <emphasis>Hooks</emphasis>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><muttng-doc:command name=""/></literal></term>
+ <listitem><para>
+ <emphasis>References to configuration
+ commands.</emphasis> The name is given via the
+ <literal>name</literal> parameter and will be
+ auto-indexed under <emphasis>Configuration
+ Commands</emphasis>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><muttng-doc:pattern name=""/></literal></term>
+ <listitem><para>
+ <emphasis>References to patterns.</emphasis> The
+ <literal>name</literal> parameter must only contain the
+ letter/symbol for the pattern as the tilde symbol/equal
+ sign will be added automatically. Auto-indexing is done
+ under <emphasis>Patterns</emphasis>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><muttng-doc:funcdef name="" key=""/></literal></term>
+ <listitem><para>
+ <emphasis>Defining a command.</emphasis>. It's used to
+ define a command with the name given in the
+ <literal>name</literal> parameter and a default key
+ binding given via <literal>key</literal>. The string
+ will be automatically enclosed in
+ <literal><></literal>. Auto-indexing is done under
+ <emphasis>Functions</emphasis>. Also an anchor with id
+ <literal>func-[name]</literal> will be added with
+ <literal>[name]</literal> being the value of the
+ <literal>name</literal> parameter.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><muttng-doc:funcref name=""/></literal></term>
+ <listitem><para>
+ <emphasis>References to functions.</emphasis>. This is
+ practically the same as the above except that there's no
+ anchor defined.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><muttng-doc:vardef name="" id=""/></literal></term>
+ <listitem><para>
+ <emphasis>Defining a variable.</emphasis> This is to be
+ used by <literal>makedoc</literal> only to define a
+ command with a given name and XML-normalized link given
+ via <literal>id</literal>. Auto-indexing is done under
+ <emphasis>Configuration Variables</emphasis>. The
+ <literal>name</literal> parameter's value will be
+ prefixed with a dollar sign as for environment
+ variables.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><muttng-doc:varref name="" link=""/></literal></term>
+ <listitem><para>
+ <emphasis>References to variables.</emphasis> This
+ practically is the same as above except that the text
+ inbetween won't be wrapped within a
+ <literal><sect1></literal> tag. Auto-indexing is
+ the same as for the above. This one is intended for
+ manual use.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+