WebMake is a simple content management system, based around a templating system
for HTML documents and an emphasis on page generation.

What makes it different from the many other templating engines out there, is
that it's been designed to have lots of built-in smarts about what a
"typical" informational website needs in the way of functionality: metadata
support, dynamic index generation from metadata, automatically-generated
sitemaps and navigational aids, user-defined tags, and support for non-HTML
input and output -- and, of course, embedded Perl code. ;)

Efficient: WebMake supports dependency checking, so a one-line change
to one source file will not regenerate your entire site -- unless it's
supposed to. Only the files that refer to that chunk of content, however
indirectly, will be modified.

Supports content conversion, on the fly: Text can be edited as
standard HTML, converted from plain text (see below), or converted from
any other format by adding a conversion method to the
WebMake::FormatConvert module.

Edit text as text, not as HTML: One of the built-in content conversion
modules is Text::EtText, which provides an easy-to-edit,
easy-to-read and intuitive way to write HTML, based on the plain-text
markup conventions we've been using for years.

Scriptable: Content items and output URLs can be generated, altered,
or read in dynamically using perl code. Perl code can even be used to
generate other perl code to generate content/output URLs/etc.,
recursively. New tags can be defined and interpreted in perl.

Extensible: New tags (for use in content items or in the WebMake file
itself) can be added from perl code, providing what amounts to a
dynamically-loaded plugin API.

Edit content in your web browser: WebMake now includes webmake.cgi,
which provides a CGI front-end to editing and managing a WebMake site.
Screenshots here.

Site replication: with webmake.cgi's CVS integration, multiple copies
of the same site can be replicated, and changes made on any of the sites
will be automatically replicated to all the others.

Version control: changes made to sites using webmake.cgi will be kept
under CVS version control, so older versions of the site can be "rolled
back" if necessary.