About Latemp
History and Motivation
After Shlomi Fish has learned HTML, and has worked for a web-design company, he maintained his own web-site on his University servers by manually editing HTML pages and other such content. This, while being sufficient, produced relatively uninteresting HTML with little resemblance to an integrated site. As he had to maintain some other sites, he was looking for a better solution.
He came across Website Meta Language which after he learned, and set up on his Linux servers, allowed him to build integrated, usable and attractive sites. As time went by he created a great deal of sites this way, by copying the contents of an old site and adapting it to the needs of the new site.
More recently, he came to the conclusion that he shouldn't duplicate his work in so many places. As he came upon older sites, he often found he had to revise their build system or templates to adapt them to the knowledge he acquired more recently. To remedy this, he decided to create a static site generation system that will allow to maintain multiple sites by abstracting the common code.
This was the birth of Latemp ("Latemp" being a play on the word "Template"): a powerful, integrated framework for maintaining static HTML web-sites. This site, for example was created using Latemp, and so are others.
Features
- Portable. Runs on all UNIX Systems (including Mac OS X) as well as on Microsoft Windows using the cygwin UNIX emulation.
- Generates Static HTML Files.
- Allows sites to have a common look and feel.
- Supports setting up navigation menus, breadcrumbs trails, navigation links ("Up", "Next" and "Previous"), and site maps - all with sophisticated site flow.
- Makes use of Website Meta Language and so has all of its power (including extending its functionality by using embedded Perl).
- Themable. Three themes (perl-begin-1, better-scm, and sinorca-2.0) are supplied in the distribution. More can be written by the user. (and contributed).
- Open Source. Distributed under the MIT X11 License, which allows for free distribution, use, modification and re-licensing.
- Can generate valid XHTML 1.0 Transitional, XHTML 1.0 Strict or XHTML 1.1.
- Has pre-defined insertion points for including a breadcrumbs trail, a navigation menu, various HTML <head> elements, a logo, navigation links buttons, affiliation buttons, a license, a webmaster contact, a time stamp, and a foot image.
- Supports generating plain pages (without any additional content or layout aside from the body).
- Supported <head> elements: <title> tag, "author", "description" and "keywords" <meta> elements, Stylesheets (screen and print), favicon, Mozilla/Opera-style navigation links, and customizable user-defined text to be inserted there.
- Supports a unified management of news items with navigation menu entries, a news box, an RSS Feed, and news page entries.
Technologies
Latemp makes use of the following technologies:
- Website Meta Language - a powerful HTML generating system.
- GNU Make - a build system which is a superset of traditional UNIX make. Very powerful and usable.
- HTML-Widgets-NavMenu - a CPAN module used to maintain navigation menus and site flow.
- The Template Toolkit - a powerful templating system for Perl.
- HTML-Latemp-GenMakeHelpers - a small utility module used to maintain the files list to be inputted to the makefile.
- HTML-Latemp-News - a module for managing news items.
Additionally, in order to install Latemp, you'll need CMake.