Not long ago, I created my first website. It was a static website, just like this one. I wrote the content in AsciiDoc and created a small script which rendered the pages to HTML.
I was very proud of it.
The content was basically plain text with a little bit of markup and some meta data – a beautifully clear separation of form and content.
The script generating the site consisted of about 200 lines of Ruby code. It was simple, and it did its job.
But it turned out that I would spend far more time tweaking the script to generate the site than to write content. After all, it was easier and more fun than to think about what to write.
Also, the barrier to publish was too high: There were always a few steps to be done before any change could be published. Not many steps, really: Make some change, run the script, clone the respository for the site, delete its content, copy the output of the script to the repository, commit and publish it.
Yet too many, as it turned out.
So I ditched the script for generating the site and started anew.
This time, it's just plain HTML. Everything is created manually. Sounds like more work, but it's not. It's a profound simplification.
This approach has its drawbacks, of course. The content is interspersed with markup – HTML is not really lightweight. It is not possible to make a change in the template which is immediately reflected in all pages using this template.
But it's definitely worth it.
I thought my site was simple, but it wasn't. Or at least not simple enough.