Archive for January, 2010

Static content managers

Monday, January 25th, 2010

WordPress is the right tool for this personal blogging site because it allows me to focus on content without worrying about HTML or formatting. The downside is that there is some security risk because it is dynamic. This is a trade-off to allow readers to post comments.

For the dojo website I want the advantages of quickly editing content that I get from WordPress without the security risks of a dynamic content manager. Currently I have to edit the HTML to make any changes, like up-coming events, dues changes and schedule changes. My first idea was to create makefiles that would build the website from markdown content and sync to the FTP server with a quick command, just like posting on this blog. My knowledge of HTML is low, so I quickly learned that there were many issues that I would have to resolve to get this going. Wouldn’t it be simpler to use existing static content manager software to solve this problem?

My criteria for the content manager was that it would create a static website (no logging in to the server except to transfer the files), Markdown format for content and that the site would look exactly the same as it does now (Tom Carter did a great job on the design and I don’t want to change that now). After some searching, I narrowed down to three options: nanoc, webgen and webby. All three used Markdown and Ruby for code. Ruby is my favorite scripting language (for purely aesthetic reasons), but I almost never have a need to use it in my work, so I liked the idea of using it for something practical.

I started with nanoc, but found that it didn’t handle images. This was a deal breaker because so much of the formatting depended on images; so I moved on to webgen, which never ran correctly on my Macbook Pro (probably because of Snow Leopard). When trying to build a default website, webgen would get caught in an infinite loop. These systems load with the easy to use rubygems interface, but it is time consuming to get each one going and find the problems and I was beginning to feel discouraged.

So I tried Webby. For some reason that I don’t remember, this seemed the least attractive of the options based on their web pages, but I have gotten further with this towards my goal than the others. It uses Markdown and ruby and smoothly handles images. I am still some time from replacing the dojo website with this system because of some weirdness in the formatting that webby wasn’t designed to handle (different pages uses columns differently, no biggie but it would have been easier every page was laid out the same), but I feel that I am on the right path.