Documentation with Doxygen and DocBook

Date and Time: 
2014 January 30th @ 3pm
ML-132 Main Seminar
Craig Ruff


Documentation is one of those tasks that many software engineers and system administrators hate to do, yet is essential both to the person writing the code or deploying applications, and to those who will later curse your name if you don't provide any documentation. You may even curse your own name if someone else has to call you at 3 AM because they can't figure out how to troubleshoot and fix a problem with something you wrote or deployed. This talk will show how using Doxygen and DocBook can help and why it is worthwhile to learn to use these tools.


Doxygen supports the generation of a rich set of formats documentation from comments included directly in the source code of a number of programming languages. Even the Doxygen reference documentation itself is generated using doxygen. Doxygen really shines as a method to produce useful API documentation and, when targeting HTML output, can be used as a code comprehension tool.

DocBook is an openly developed schema that describes an XML based technical documentation format covering several common document types. Because DocBook is based on XML, DocBook source files can be used, along with the proper toolsets, to generate a number of output types including HTML, PDF and Unix man pages, in a way that either impossible, or not very cleanly, to do with WYSIWYG document editors. However, this flexibility comes at the price of a steeper learning curve.

Speaker Description: 

Craig is a software engineer in the Data Analysis Services Group of CISL, where he is responsible for assisting with the provision and administation of high performance shared file systems, data management and data transfer applications. He has been at NCAR since 1987, and has in the past worked on the NCAR Mass Storage System (MSS), Text and Graphics Server (TAGS), networked applications, device drivers and the administration of networked computer systems using a number of types operating systems.

Video recorded: 

If you use a non-flash enabled device, you may download the video here

Event Category: