User Tools

  • Logged in as: anonymous (anonymous)
  • Log Out

Site Tools


mantisbt:docbook

Working with DocBook Manuals

Required Tools

No special tools are needed to edit DocBook files, a plain-text editor is good enough to do the job, although a specialized XML editor may be useful.

In order to build the manuals however, you need to have a working DocBook tool chain installed on your system.

MantisBT 1.3 and later

MantisBT 1.3 uses Publican to build the documentation. All necessary tools can be installed with the following command, which takes care of dependencies.

$ sudo apt-get install publican

This was tested successfully on Ubuntu 14.04 LTS, but should work with older versions too.

MantisBT 1.2

To build MantisBT 1.2 documentation, this tool chain includes GNU Make, OpenJade, and various DocBook tools.

The command below installs the toolchain on Ubuntu-based systems (tested successfully on Ubuntu 12.04 LTS and 13.04 desktop)

$ sudo apt-get install docbook docbook-dsssl docbook-slides docbook-utils linuxdoc-tools make openjade xmlto

For Debian-based Linux distributions, simply install the necessary packages with the following command:

$ sudo aptitude install docbook docbook-dsssl docbook-slides docbook-utils linuxdoc-tools make openjade xmlto

For Fedora-based distros, run this command instead:

$ su -c 'yum groupinstall "Authoring and Publishing"'

Building a DocBook Manual

MantisBT 1.3 and later

GNU Make files are present in each DocBook's directory, allowing easy build with a single command.

To build all DocBooks in default html-desktop format

cd /path/to/mantisbt/docbook
make

To process a specific DocBook, first go to the corresponding directory, e.g. for Administrator's Guide

cd /path/to/mantisbt/docbook/Admin_Guide

then execute the appropriate command:

  • Build it in default (html-desktop) format
    make
  • Validate the XML files, without building the DocBook
    make test
  • Build a PDF
    make pdf
  • Clean build in all available formats
    make clean all

This is just a few examples, refer to the Makefile's documentation for further details.

It is also possible to manually execute Publican, e.g.

publican build --langs=en-US --formats=html-desktop,pdf

MantisBT 1.2

We will use the Developer's Guide in English as the example manual for this process, which is in the developers/en/ directory. You can substitute any other manual or language, assuming the manual exists and has been translated to that language.

Enter the directory containing the preferred manual:

  $ cd /path/to/mantisbt/docbook/adminguide/en

Run make with a list of resulting file types that you want to build. Currently, our DocBook manuals can produce PDF, HTML (split or single page), RTF, Postscript, or plain-text manuals. All resulting manual files will be placed in the build/ subdirectory. In this example, we will build both a PDF and a split HTML manual:

  $ make pdf html
  $ ls -R build/
  build:
  developers  developers.pdf

  build/developers:
  dev.database.html          dev.eventref.html  dev.plugins.html  index.html
  dev.database.install.html  dev.events.html    images            LEGAL.html

For installing manuals into a specific location, such as for building manuals on web servers, first clean and build the desired DocBook manuals, and then run the install routine with the necessary install path:

  $ make clean
  $ make pdf html
  $ make INSTALL_DIR=/path/to/install install

- or for cron jobs (order matters):

  $ make INSTALL_DIR=/path/to/install clean pdf html install

Simple Build Script

Taking it one step further, there is a Python script in trunk/dev/ named docbook-manual.py that takes the following set of arguments to automate the update/build process from an SVN checkout:

  $ docbook-manual.py <mantisbt/docbook> <destination_path> [<lang> ...]

The last parameter is optional, and can be a space-separated list of docbook languages to build. The results are put into the destination directory in the form of <lang>/<manual>. An example command and resulting hierarchy:

  $ /home/user/mantisbt/trunk/dev/docbook-manual.py /home/user/mantisbt/trunk/docbook /var/www/mantis en de
  $ tree /var/www/mantis
  mantis
  -- en
  ---- administration_guide
  ---- developers
  -- de
  ---- administration_guide
  ---- developers
mantisbt/docbook.txt · Last modified: 2016/07/03 11:26 by dregad

Driven by DokuWiki