Mar 31 2007

It's taken me a long time to get a functioning personal website up and running. So long, in fact, that the registration for this domain had to be renewed while the old placeholder was still the active site. But considering the extremely short amount of time it took the site to take shape once I got around to making it, I have to wonder how often in life things just 'click' for people in the same way that a chance discovery made this site 'click' for me.

The Problem

Drupal - powerful, too powerful

Drupal - Too powerful for such a simple site?

I registered this domain back when I first found out you could buy .name TLDs. The rules had been relaxed on their purchase only a year or two before such that you could buy smith.name as opposed to only being allowed john.smith.name type addresses, and given how uncommon my last name is it wasn't any hassle in picking this domain up. But then I was faced with the task of actually using the domain. There had to be something at www.mcnie.name for the family, and something at nigel.mcnie.name for me. And I found, when I looked at what each site required, that I simply wouldn't have the time to do either of them unless a miracle occured.

I knew what I wanted for my site - a few static pages about myself, and a place to put articles. I didn't want a blog - blogs have a corny, "me too!" feel about them that puts me off, and I'd tried setting up a blog a couple of years ago and that failed miserably. You know the story - new blog, twenty categories for stories and the only one that had a decent amount of articles was the one about the programming language you were using because you didn't really want to write about your life. So I just wanted articles - take it or leave it essays. That's not a lot of requirements in anyone's book.

The Journey

So why has it taken so long to get anything up? Well, at first, I tried using an existing CMS or two. I tried Drupal, I think I tried Wordpress. But they all required configuration and databases and all that other crap, so those attempts died while still on my laptop hard drive. Basically, they were too much work for the supposedly simple requirements I had.

I forgot about the problem for a little while, but then had another stab at it when I was introduced to Turbogears. Turbogears was my first encounter with the "Rails" way of building web applications (MVC, requests served by methods etc.), and for a while I was excited by the possibilities. I wrote a site on which I could add pages simply by visiting the url that I wanted to make, and filling out a WYSIWYG box with the content. It worked really nicely, the editor was swapped in and out using fancy javascript and I could make the articles I desired. But complications stopped the project dead - I couldn't deploy it to my hosting (which didn't support turbogears - hey it's free hosting, I was too lazy and incapable to shell out for hosting). Furthermore, I wanted to integrate GeSHi but ran into issues with the WYSIWYG editor even when I got that awful hack working, and I couldn't work out an easy way to upload images. So yet again, the project went on the back burner, the problem ignored. All I had to show for it was having discovered MochiKit, which would prove to be a crucial step in my discovery of javascript, but that's another story.

So the project was dead yet again, this time for even longer. The placeholder sat there all alone, I forgot about the problem again, and turned to other projects. The idea of putting something up resurfaced from time to time, but never got any serious attention.

The Solution

While writing the documentation for Pieforms, I came across and started to use Docutils. I came to like the idea of ReStructured Text and spent time setting up the Pieforms documentation to support breadcrumbs and syntax highlighting using GeSHi. If only, I thought, there was a way to write websites using ReST. Then my problem would be solved. But I didn't listen to that thought hard enough at the time, and once again forgot about the problem.

But just recently, I blundered into Rest2Web. And immediately, magically, my problem was solved. Here was a system under which I could write a website, including articles, as ReST files. No real configuration, no database, just one command line program and you have a site. You can store the site in version control as you please, mess around with the structure and layout all you like, use your favourite editor to write pages and your commandline to administer all aspects of the site. It was a dream come true for me. And after only a few hours, not much hassle and most of the time spent writing content, I have a personal website to show the world.

I like this solution for so many reasons. It's simple, secure, fast, lets me use my tools to administer it and generally doesn't get in the way. For my inane requirements, that larger products like Drupal and Wordpress couldn't handle without effort, this is a perfect fit. I think Rest2Web will be powering my website for a long time. If I leave the site for a year, it won't matter, the pages will sit here as always. No security upgrades to go through, no corrupt databases to worry about. Taking the site down is a simple rm -r, and I'll always have a backup copy available. I can edit it offline, and push all the changes once I'm happy with them to the live site.

Basically, the idea just 'clicks' with me. I don't know if you've ever had that feeling about something - maybe about something you all of a sudden had a chance to buy, or a holiday that you found you could take (I once managed a four day holiday based on a whim and organised entirely in the afternoon before the holiday started). But I have that feeling again here, and that makes me happy. If you're an experienced *nix user needing to make a website, why not give it a try? Maybe it'll work for you too.


Like this post? Subscribe to my RSS feed and follow me on twitter to hear about new posts early.

Want to share this post?

blog comments powered by Disqus