Similar Projects

Here's some projects that are similar to what WebMake does (or hopes to do at least):

Web Site Preprocessors

htmlpp is "a pre-processor for HTML documents. Its purpose is to simplify the work of writing and packaging large numbers of HTML documents." It's got a lot of features similar to what we're working on here, and is written by the company that makes the Xitami web server.

GTML is an HTML pre-processor "which adds some extra features specially designed for maintaining multiple Web pages". It operates on .gtml files, interprets embedded GTML commands, and outputs to .html files. This has some WebMake-like features, such as inclusion (a traditional preprocessor feature), defining content fragments (slightly similar to ${content_refs}, and defining URL "aliases" to files (similar to the $(url_ref) feature).

wsmake is "software for aiding the production and maintenance of websites. It was written to reduce the amount of time it takes to make changes to common information across a website.".

ht "is a pre-processor for HTML. It facilitates the maintenance of a large site by abstracting out common 'boilerplate' segments of code, e.g. header and footer segments that are similar system-wide. A number of varying styles and macros can also be supported." It's used to generate the Web Developer's Virtual Library. Takes a bit of hacking to get going though, looks like.

HTML Preprocessors

Latte is "the Language for Transforming Text". It's essentially an alternative markup language, allowing text to be edited in a friendly format, then converted to HTML. No site management functions, however.

Website Meta Language is "a free and extensible Webdesigner's off-line HTML generation toolkit for Unix, distributed under the GNU General Public License", written by Ralf S. Engelschall (the author of mod_ssl and mod_rewrite, along with lots more!). "WML consists of a control frontend driving up to nine backends in a sequential pass-oriented filtering scheme. Each backend provides one particular core language.". Again, there are not a lot of site management features; it maps more closely onto the EtText module of WebMake.

WPP is "a small perl5 script that allows preprocessing of html files. You can define variables, which are abbreviations for longer constructs, and include common html fragments. It's useful for giving an uniform layout to different html pages. It can be used into cgi-bin programs for automatic generation of pages. With less html code inside them you can make more flexible and readable scripts. ".

Genpage is "a perl script designed to make managing web content within a consistent looking web site easier". It shares the concept of separating HTML templates and content text into separate files, and can use inline Perl code in its templates. The HTML template file indicates where the content sections are inserted. However, there's still a direct mapping from content file to HTML file.

Freshmeat and LinuxLinks.com have lots more HTML pre-processors in their application indices.

Content Management Systems

The CMS list (see table at bottom of page) covers a huge range of the biggies -- the real CMS'es. These typically feature edit-in-browser features, workflow, and lots of other things that are outside the scope of WebMake (for now anyway ;). This page is part of the CMS mailing list, moderated by Cameron Barrett and Phil Suh.

Midgard is the big free CMS, as far as I can see; it's where I got the idea for the separation of content chunks and layout, with a flexible method of inclusion for both. It's built on PHP, and includes plenty of edit-in-browser features.

A large list of open-source CMS tools at Karl Dubost's site at la-grange.net -- worth a look.

Web Scripting Languages

There are lots of in-page scripting languages, generally oriented towards "active scripting", which means embedding script into the HTML page, interpreted by the HTTP server at runtime. Off the top of my head, the big ones are Microsoft's ASP, PHP, Zope, AOLServer's TCL support, and HTML::Mason (which uses Perl).

Velocity is a template system from the Apache Jakarta project -- it's written in Java, runs as a server-side template engine, and enforces the MVC paradigm in your site.

jm /at/ jmason /dot/ org

Hosted at