In the input file, you may use an extended syntax based on html, but which also allows extensions like macros, conditionals and more. It's mainly intended to create and maintain larger html projects. It also includes a script to run the pre-processor on a particular file and output it to a specific location. The goal is to simplify site management as much as possible. The usage of symbolic names instead of filenames allows files to be moved around without breaking links.
Templates allow easy customization of each page, and a fast change of the layout.
By defining your own tags, you can structure your documents better. Beginners can use one of the given templates and do not have to use any markup language at all. Experts can write their own Perl macros in order to get access to metadata and more flexibility. Its purpose is to simplify the work of writing and packaging large numbers of HTML documents. It acts like a compiler, i.e. you provide an input source text and htmlpp produces the HTML documents from that.