Gnome Doc Utils

From GnuCash
Jump to: navigation, search

An ancestor of the GNOME Documentation Build Utilities (GDU) seem to have been the base of the Gnucash Documentation. At some point this relation was forgotten and no further updates found their way in our docs. Most parts of the build system are based on scrollkeeper_example2 (manual).

This page will contain notes while updating.


In GNOME3 the Gnome Doc Utils are replaced by Yelp Tools, which might be nice for Mallard files, but have now in 2017 only partial support of DocBook source files. So we can not use them.

For technical details the README on GitHUb might be a starting point.

Distributions might split the GDU in a runtime, a devel and several language packages:

Runtime Package

Beneath the program

> gnome-doc-tool --help
Usage: gnome-doc-tool <COMMAND> [OPTIONS] FILES...
Process a documentation file.

COMMAND is one of:
  list-icons   list automatic icons and watermarks
  list-media   list all referenced media files
  html         convert the documents to HTML
  xhtml        convert the documents to XHTML
  css          create a CSS file for a Mallard document
  help         display this help and exit

it contains

  • in /usr/share/gnome-doc-utils one template each for an app and an applet,
a bunch of icons: admon-{bug|caution|important|note|tip|warning}.{png|svg}
and watermarks: watermark-{blockquote-{00AB|00BB|201C|201D|201E}|code[-python]}.png
  • in /usr/share/gnome/help/gnome-doc-{make|xslt} help files
  • in /usr/share/xml/gnome/xslt xslts for docbook (gnome2) and mallard (gnome3) sources:
common: {theme|utils}.xslt
common: db-{chunk|common|label|title|xref}.xslt
html: db2{html{-{autotoc|bibliography|block|callout|classsynopsis|css|division|ebnf|footnote|funcsynopsis
omf: db2omf.xslt

Devel Package

Beneath the program

> gnome-doc-prepare --help
Usage: gnome-doc-prepare [OPTION]...

Prepare a package to use gnome-doc-utils.

    --automake        work silently, and assume that Automake is in use
-c, --copy            copy files rather than symlinking them
    --new-document DOCUMENT
                      initialize help/DOCUMENT/*
    --debug           enable verbose shell tracing
-n, --dry-run         print commands rather than running them
-f, --force           replace existing files
    --help            display this message and exit
    --version         print version information and exit

You must 'cd' to the top directory of your package before you run
  • an /usr/share/aclocal/gnome-doc-utils.m4
  • /usr/share/gnome-doc-utils/gnome-doc-utils.make, which can be linked or copied
  • in /usr/share/gnome-doc-utils a bunch of templates for document.xml, omf-in, make, legal-xml.


Merge the templates in our files.



  • The --copy option should avoid the dependency?
  1. gnome-doc-prepare
 > gnome-doc-prepare -c
 Remember to add 'GNOME_DOC_INIT' to
 You should update your 'aclocal.m4' by running aclocal.
 rm -f gnome-doc-utils.make
 cp -f /usr/share/gnome-doc-utils/gnome-doc-utils.make gnome-doc-utils.make
  • with --new-document docname it will create help/docname/{C/docname.xml||}
    It will need some tweaks to apply it on guide/gnucash-guide
  1. add 'GNOME_DOC_INIT' to
    • Does it require a more complex construction?
    • Is a special place before or after something else required?
  2. ./ # will call aclocal and insert /usr/share/aclocal/gnome-doc-utils.m4 in aclocal.m4
  3. [[md build;] cd build;.]./configue <your options>
There is a help file for gnome-doc-make.
Standard OMF Elements
Scrollkeeper's omf extensions