Stuff with the Perl Foundation. A couple of patches in the Perl core. A few CPAN modules. That about sums it up.
With content management systems (CMSs), there are basically two paradigms that I call "client-side" and "server-side" (not entirely accurate, but bear with me). The vast majority are server-side. The code constantly runs, keeping everything going where it should be. This is great because it's conceptually simple and easy to integrate with existing code/databases.
The downsides are legion.
For client-side CMS systems like Bricolage and Krang[1], you have a server -- could be running on your laptop if you want -- which runs your CMS app. When you're done editing your pages, you publish them to your site. They are sent via sftp, ftp, or whatever other transport mechanism is set up. In other words, you work locally, publish remotely. The downside is that it can be tricky to integrate with existing sites or databases, but once that's done, you generally don't have the disadvantages above. In fact, you could make your entire site static and have virtually no performance overhead aside from what your Web server can handle.
Now that you've read this far, what client-side CMS systems would you recommend for individuals? The easier to use, the better. Bricolage and Krang are great, but they're designed for people with serious needs.
1. Krang borrowed so much from Bricolage that many would be hard-pressed to see the difference between a Krang screenshot and a Bricolage screenshot. I never did understand why they wrote their own rather than work with Bricolage, but they did put together a great product.
movable type (Score:1)
* it runs on a different server and publishes static content (it's trivial to embed, say, mason on your pages if you want something dynamic in user time).
* everything is broken down nicely into templates.
* extremely flexible
* it's written in perl and the code is easy to work with (seriously, i know this is like beating a dead horse, but have you looked at the innards of wordpress?)
bgp is for those who can't keep it static long enough
Staging/publishing (Score:1)
Somewhat of an artificial separation (Score:2)
If you find a CMS you like that doesn't support publishing to static pages, it's not hard to do that bit independently. A simple wget will get you most of the way then run each page through a Perl script to apply whatever customisations or rewrites you require (wget will fix the links) and rsync to push it up to your server.
As to which one I'd recommend, as I said in a recent journal entry, I have yet to find a CMS I like but so far Drupal is the one I dislike the least. Before working with it I knew al
Comments and such (Score:1)
Latemp (Score:2)
Latemp [berlios.de] is an offline content-management system I created based Website Meta Language [freshmeat.net], GNU make and a lot of custom Perl code. It was originally intended to extract the various common copy-and-pasted functionality from my WML sites.
Latemp requires a bit of learning before one can start, and has quite a few dependencies. However, one can simply enter HTML markup into the template files and it will work.
Also look at ttree [cpan.org] which is based on Template Toolkit.