<BLOCK body>

## An HTML pre-processor

htp is an HTML pre-processor. It is designed to be a flexible authoring tool that can easily be integrated into the design process.

htp works by processing special HTML files and producing as output regular HTML files ready to be served up. The original HTML files are "special" because they (possibly) contain certain markup tags only recognizable to htp. These tags are formed very similarly to standard HTML tags. This allows for an easy learning curve and the ability to use visual HTML editors to build htp files.

This on-line reference was entirely designed with htp. The htp Home Page has a hyperlink to the latest copy of htp, which includes an executable file, a client-readable copy of this reference, the original files used to build the reference, and a full copy of the original 'C' language source code (either for perusal or porting to other platforms).

A WWW page was produced by the author, was then maintained by Robert King (<use rk_email>) at <use rk_htp> and is now available at <use web>.

## Background

In building my own Web pages, I felt it important to maintain a consistent layout across all documents produced. This was easy enough at first, but after building 20+ pages, it was more and more difficult to change or update the style or information across all pages. I can only imagine the problems a site with 100 or more pages would have.

htp is a simple response to this problem. Although there are a number of interactive HTML editors available, none of them had all of the features I've placed into htp. I'm also uncomfortable using windows based HTML editors, for a variety of reasons. htp allows me to produce HTML files with any text editor. Once finished, htp is executed from the command-line to "build" the final HTML code that goes on the HTTP server.

Build is an appropriate term. The HTML source files can ultimately be used to import various files, letting the author create a sort of template for the various headers and footers that are part of the HTML document.

## Distribution

htp is licensed under the terms of the Clarified Artistic License.

## Porting to other platforms

htp was written in as much standard ANSI C as possible. Jim was anticipating porting it to platforms other than DOS and Linux. Indeed, we have ported it to SPARCstation running Solaris, to x86 running BSD and to a Digital AlphaStation running Ultrix.

If you run into problems porting htp, please email us as thorough a description of the error(s) as possible, We'll be more than happy to try and help you through the process. You can use the bug forum at the SourceForge project page.

It should normally be enough to edit `Makefile.config` in the source distribution, especially look for HAVE_xxx macros and remove those that you don't have (htp will then use it's own methods). The next file to look for is `os.h`, which already contains a lot OS specific code. If you are successful in porting htp to another platform, we would appreciate an email. Thanks in advance.

</BLOCK>