Your browser doesn't seem to support CSS, which this page uses for all styling. Don't be surprised if it looks kinda boring.

[Jump to nav]



This is a DTD I wrote to help me maintain the documentation for the libpostal project.

This DTD is written especially for the peculiar demands of writing documentation for a code library, and is (in my opinion, anyway) perfectly suited for it.

What's where

Note that this is not the primary codelibrary website. Codelibrary is developed as a part of the libpostal docs, which are, of course, part of the libpostal project. The primary site for Codelibrary is located within the libpostal homepage.

What's what

Most of the documentation that exists is either in the tarball, or in the libpostal docs (look at the SGML source).

The libpostal docs are probably the best documentation of the library, since they are both the reference implementation and the prototype (as well as the raison d'etre!) There is also a sample.sgml file in the examples/ directory that gives a cut-down version of the libpostal docs with many of the capabilities of the DTD. And the is a Makefile.sample in the examples/ directory as well, which gives a sample building scheme. If you copy the sample.sgml into a directory (say $HOME/tmp/lib/), then copy the Makefile.sample to Makefile in that directory, just running make should, if all the necessary software is installed, leave you with formatted output in the outputs/ directory.

See the README file in the tarball for more information.


The current release is version 2.0. To install it, just download, untar, and run 'make install'. You may wish to customize the install location. For instance, if you don't want to install it system-wide, but only in your $HOME/sgml, type 'make INSTDIR=$HOME/sgml install'. The default install location is under /usr/local/share/sgml/, which means the actual files will be under /usr/local/share/sgml/codelibrary/2.0/. This allows you to have multiple versions installed without any extra work.

Other necessary software

This information is pulled from the README file in the distribution

Building all these transformations uses a LOT of software packages.

  • To build ANYTHING, you need Jade.
  • To build RTF, that's all you need.
  • To build HTML, that's also all you need.
  • To build TXT, you also need lynx (you can PROBABLY find a way to substitute links or w3m or some similar thing if you try)
  • To build other formats uses TeX output, then transforms it.
    • To build DVI, you need a TeX processor (I suggest teTeX, which is basically the standard TeX processor for POSIX systems), and the JadeTeX backends.
    • To build PS, you need dvips
    • To build PDF, you need pdftex, which is part of teTeX.
  • If you're on FreeBSD, you can shortcut all of this by installing the textproc/docproj port or package (with JADETEX=yes).


If you really need it for some reason, here's a copy of version 1.0.