Outline is a general purpose compiler for literate programming, supporting pluggable input and output formats.