Documentation which is written in Mallard and Docbook XML can be quite easily converted into other formats. This page deals with converting to HTML and PDF.
Building HTML Documentation
Set up a copy of the docteam bzr branch as described on Repository page. Choose the appropriate branch for the version of Ubuntu documentation you wish to build. This branch will become corrupted and should be considered as temporary for the purpose of creating the html files, and not for ever committing back.
- If desired, modify the INSTALLDIR line in html/Makefile, and create the related directory.
If more than just english html is desired, then the other languages .page file need to be built first. Type:
cd ubuntu-help make cd ..
Now generate the HTML. Type:
cd html make
This command will build HTML versions of all the documents available and place them in the html/build directory.
The command uses the various language .page files to create the html.
There are a number of other make targets which you can use to build specific or miscellaneous documents. Read through the Makefile to discover what these are.
You will see a lot of warnings like the following, which can be safely ignored:
No localization exists for "c" or "". Using default "en".
Since Ubuntu 7.04, the Ubuntu system documentation has split into several categories, many of which link between them using an internal Gnome/KDE linking system. When the documents are converted into HTML, this results in a lot of links being broken. For this reason we use a script called fix-urls.sh to correct the broken internal links. This script is run automatically as part of the make command described above.
In case you are building kubuntu-docs on Ubuntu system, you will also need to install khelpcenter4 package at step 2 above (It would have already been installed on a Kubuntu system).
The contents of the help.ubuntu.com bzr branch are generally identical to the output of the make commands for all languages described in the previous section, subject to the following exceptions:
- The various languages are combined into one sub-directory, differentiated with the langauge code added to the end of the file name. The web server automatically delivers the correct language content based on the users language settings. To create the required stucture, in the location as defined by INSTALLDIR as set in the previous section, type (from the html sub-directory):
- A custom index.html page is used which is not part of the build process.
A copy of the Ubuntu installation guide is added to the build process together with a custom index.html page. See the install target in the Makefile for information about how this is done.
- The PDF version of the serverguide should be built separately. See below for instructions.
- The root index for the website should be manually updated to add or remove links to each release as they are added or removed from the site.
The help.ubuntu.com website is automatically pulled regularly from the bzr branch. If this doesn't work, please contact the Canonical Sysadmins after waiting a reasonable period (e.g. 24 hours).
Note: the HTML documentation on help.ubuntu.com should always reflect the documentation as it appears in the applicable version of Ubuntu. Changes to the help.ubuntu.com branch should not be made without the StableReleaseUpdates procedure first being followed and an equivalent change being made to the mainline bzr branch for the Ubuntu version concerned.
Building Translated HTML (for DocBook source code)
If building translated copies of the documentation, you will need to adjust the Makefile and substitute your language code for the LN variable defined near the top of the Makefile.
You may also wish to modify the header and footer details. These can be found in the libs/ubuntu-banner.xsl file.
To build PDF, we currently use a tool called Apache Fop.
Currently, the only document which we build a PDF version of is the Ubuntu Server Guide. To build a PDF version of the Server Guide, install the fop package and run the following command from an ubuntu-doc branch:
If you are interested in building other documents, read the serverguide-pdf target in the Makefile for more information.