<BLOCK body>

<H2>An HTML pre-processor</H2>

<A HREF="${web}">htp</A> is an HTML pre-processor.
It is designed to be a flexible authoring tool that can easily be
integrated into the design process.
<P>
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.
<P>
This on-line reference was entirely designed with htp.  The <A
HREF="${web}">htp Home Page</A> 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
<A HREF="#Porting">porting to other platforms</A>).
<P>
A WWW page was produced by the author, was then maintained by 
<A HREF="${rk_home}">Robert King</A> (<EM><A
HREF="mailto:${rk_email}"><use rk_email></A></EM>)
at <A HREF="${rk_htp}"><use rk_htp></A> and is now available at
<a href="${web}"><use web></a>.


<H2>Background</H2>

<P> 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.</P>

<P> 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.  </p>

<P> Build is an appropriate term.  The HTML source files can
ultimately be used to import various files, letting the author create
a sort of <manlink HREF="template.html">template</manlink> for the
various headers and footers that are part of the HTML document.  </P>


<H2>Distribution</H2>

<p>
htp is licensed under the terms of the <a href="license.html">
Clarified Artistic License</a>.  
</p>

<A NAME="Porting"><H2>Porting to other platforms</H2></A>

<p> 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.  </p>

<P> 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 <a
href="${project}bug">bug forum</a> at the SourceForge project page.
</p>

<P> It should normally be enough to edit <code>Makefile.config</code>
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 <code>os.h</code>, 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.  </P>

</BLOCK>
