Ditching dynamic blog engines.

This content is old, and possibly out of date.

A while back, I’d ditched WordPress in favor of Mephisto. I’d grown tired of constantly being under attack from spammers, and really disliked that it was one gigantic PHP app.

Once I was on Mephisto, I really liked the syntax highlighting I got with the Ultraviolet Gem, but it requires Oniguruma, which was a pain to setup on my shared host (they have since added it to their hosts). Life was good.

Except that it wasn’t. It was a little annoying how long it took pages to come up in the “cold cache” case, and I’d actually gotten a few complaints about that. After this, I decided that I was just going to do away with “dynamic blog engines” entirely.

Enter WWW::StaticBlog. I decided that I was just going to statically generate every page, and upload them to the shared host. No more worrying about spammers trying to “hack” my site, and no more slow page loads waiting for a full Ruby on Rails app to start up.

So far the features of WWW::StaticBlog are:

  • Pluggable templating system. (Currently only has a plugin for Template::Toolkit)
  • Support for tagging articles, and browsing articles by arbitrary combinations of tags.
  • Atom feed for posts.
  • Support for purely static content.

Things I plan on adding:

  • Author pages, with the ability to browse posts by author.
  • Support for more templating engines (Template::Mustache will probably be the next one.)
  • Archives pages to view past posts by year/month.
  • Only generate the pages that have actually changed, instead of regenerating everything, every time.

The idea behind WWW::StaticBlog is that the host does not need to have support for anything, other than serving up static files, and you’ll still have what would look like a dynamically generated site.

As a live example of how to use WWW::StaticBlog, you can check out the Git repository for this site.