Die Dokumentation modernisieren
GTK-Doc ist schon seit längerer Zeit verfügbar. In diesem Abschnitt zeigen wir neue Features und die Version, mit der sie eingeführt wurden.

GTK-Doc 1.9
Wenn Sie XML anstatt SGML verwenden, können Sie das Hauptdokument <package>-docs.xml nennen.
Diese Version unterstützt SCAN_OPTIONS=--rebuild-sections in Makefile.am. Wenn dies aktiviert ist, wird die Datei <package>-sections.txt automatisch erzeugt und kann aus der Versionsverwaltung entfernt werden. Dies funktioniert nur sauber in Projekten, die eine strikt »reguläre« Struktur haben (zum Beispiel erzeugt jedes .{c,h}-Paar einen neuen Abschnitt). In einem solch sauber organisierten Projekt kann dann mit dem Befehl meld <package>-decl-list.txt <package>-sections.txt eine manuell verwaltete Abschnittsdatei sehr einfach aktualisiert werden.
In Version 1.8 wurde bereits die Syntax für Dokumentationsabschnitte in den Quelltexten anstelle von separaten Dateien unter tmpl eingeführt. Diese Version fügt Optionen zur Umstellung des gesamten Dokumentationsmoduls auf das neue Verhalten hinzu, so dass kein zusätzlicher tmpl-Erstellungsschritt mehr nötig ist. Dazu dient die Option --flavour no-tmpl in configure.ac. Wenn Sie keinen Ordner namens tmpl in die Versionsverwaltung eingestellt haben und noch nicht umgestellt haben, fügen Sie einfach die Option zu configure.ac hinzu, und die Sache ist erledigt.

GTK-Doc 1.10
Diese Version unterstützt SCAN_OPTIONS=--rebuild-typess in Makefile.am. Wenn dies aktiviert ist, wird die Datei <package>.types automatisch erzeugt und kann aus der Versionsverwaltung entfernt werden. Dieses Feature erfordert die Einrichtung von IGNORE_HFILES in Makefile.am für Code, der nur unter bestimmten Bedingungen erstellt werden soll.

GTK-Doc 1.16
Diese Version führt ein neues Werkzeug namens gtkdoc-check ein. Damit können Sie eine Reihe von Plausibilitätsprüfungen auf Ihre Dokumentation anwenden. Um es zu aktivieren, fügen Sie folgende Zeilen am Ende von Makefile.am hinzu.

gtkdoc-check einschalten

if ENABLE_GTK_DOC
TESTS_ENVIRONMENT = \
  DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
  SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
TESTS = $(GTKDOC_CHECK)
endif

GTK-Doc 1.20
In Version 1.18 wurde erstmals Unterstützung für Markdown eingeführt. Die Verwendung von Markdown in Dokumentationskommentaren ist weniger aufwändig als das Schreiben von DocBook XML. Diese Version bringt diesbezüglich wesentliche Verbesserungen und fügt zahlreiche weitere Stile hinzu. Alle Details hierzu finden Sie im Abschnitt zur Kommentarsyntax.

GTK-Doc 1.25
Die in dieser Version enthaltenen Make-Steuerdateien erzeugen die Entitätsdatei xml/gtkdocentities.ent, die Entitäten für beispielsweise package_name und package_version enthält. Sie können diese in der XML-Hauptdatei verwenden, um eine fest codierte Versionsnummer zu vermeiden. Nachfolgend finden Sie ein Beispiel, wie die Entitätsdatei einbezogen wird und und wie die Einträge verwendet werden. Die Entitäten können auch in allen generierten Dateien verwendet werden. GTK-Doc verwendet die gleichen XML-Kopfeinträge auch in generierten Dateien.

Vorerzeugte Entitäten verwenden

<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
  <!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
  <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
  %gtkdocentities;
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
  <bookinfo>
    <title>&package_name; Reference Manual</title>
    <releaseinfo>
      for &package_string;.
      The latest version of this documentation can be found on-line at
      <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
    </releaseinfo>
  </bookinfo>