Static Websites using Webby

Kimo Johnson

27 January 2009

Until recently, the pages of this site were generated by the Joomla content management system (CMS). There were a number of reasons I initially chose a CMS for this site, including the ease of adding new content and the flexibility of being able to view the content in different ways. But over the last few months, I have become concerned by the idea that my content lives in a database in some unknown format, and that if I switch hosting services it may be complicated to migrate to another system. Also, a CMS is overkill for a site like this, where the content is static and updates are (unfortunately) few and far between.

These concerns became a real issue last month when I tried to upgrade my site to the latest version of Joomla. The database format had changed and I couldn’t get the migration script to work. I was faced with two options: spend time dealing with the database issue or convert my site to a new system. I chose the latter.

I had been looking into new website systems for a while and I had thought about the features that were important to me:

  • Text files: I want the entire site stored in human-readable text files. Text files are easy to edit and are backed-up when I back up my computer. By human-readable, I mean not only a text-based format but also minimal markup - I don’t want to type much more than the content itself and I don’t want the markup to obscure the content.

  • CSS: I want the style of the site controlled by CSS and separate from the content. This is, of course, not a new idea in website design, but important nevertheless.

  • Easy to update: I want the site to be easy to maintain and update. There should be minimal work beyond creating content.

With all these considerations in mind, I settled on Webby. Webby takes text files on my hard drive and converts them into the site you see here. Adding new content to the site is as simple as adding a new text file to a folder and running the webby command. For example, this blog is a simple text file in my blogs folder:
Code folder

For publications, I create a new folder with a text file for the abstract, a teaser image, an icon, and a pdf:

Webby converts the text files and directory structure into a website. In a future blog, I will go into more detail about how I made this site using webby. But in fact, webby can do most of what you see here without any customization - I spent more time designing and adjusting the CSS than I did writing code for webby. I am already liking this system quite a bit.