Noel is an HTML template compiler
which I have been using in form or
another since I wrote the first version (in Perl) in 1997. This public
release is a solid, thoroughly-tested Java implementation of Noel
which includes advanced features such as background compilation and
features to support and encourage re-use of Noel tags.
Noel is like the C macro-preprocessor except that instead of inputting and
outputting C code, it inputs and outputs HTML files. Noel enables a rich
template hierarchy and component-based design by using custom variables
Noel is similar to Web templates engines such as
and Tea, inserting content
into Web page templates. But Noel works with static files; it does not have
a dynamic component that plugs into a Web application. In fact, Noel is
designed to co-exist with a template engine.
Noel can be used to generate static Web pages,
Velocity templates, JSPs, ASPs, PHP files, XML files, etc. Noel can generate
any sort of text files but is best used to generate HTML-like file.
Noel provides the abstraction that Web designers so desperately
need in order to create large, multi-faceted Web sites that must be actively
maintained. With Noel, making a change to the layout of a search box that is
used in different formats throughout the site is as easy as fixing a typo.
Noel can act as part of a lightweight (i.e. free, custom, simple)
content management system. Formalize a set of variables and tags that can be
used in content, spit the content from a database into a Noel project tree,
and run Noel to apply the latest site design and architecture to the content.
All of my Web sites use Noel templates. (Designing and maintaining
a site without Noel is painfully inefficient.) This includes: