Web Development is hard. And it is hard for all the wrong reasons. Take creation of this blog, for example. All I wanted was a simple web site, no twitter integration, no interactive content. Nothing out of ordinary. But I had few obvious restrictions, such as "No PHP". And what did I get? Bunch of Ruby frameworks (well, Ruby is boring, is not it?). A handful of Java (or rather JVM) ones, most of which are based on Struts (oh my). And that's it. Ok, I have to settle on Python. It is boring as well, but at least that one is light.
I quickly settled down on Pelican. Well, what could be simplier than a Python script, producing a bunch of HTML files? You would think so...
First I had to deal with awesome errors, such as "bool is not callable". Well, if you ever encounter this error with Pelican, check that you have all the dependencies installed.
Next I had to fix XHTML issues with the templates. Guys, seriosly, it has been ages since XHTML was created. Is it this hard to produce valid markup?
Finally, here comes the time to publish the blog. Its main configuration script has variable "OUTPUT" defined. But that's not the one, which defines its output directory. You have to edit Makefile to change the real output directory.
Of course I never heard of template engine in use. I have learnt it already.
My point is: that was hard. But did it had to be hard to begin with?
You may say, that I should've go with one of the PHP CMS engines. There are plenty of them and they are all so newby-friendly, it is almost impossible. The problem, they are all equaly hacker-friendly. And they are all tailored for cheap shared hosting. Well, for the same money one can rent a server this days. So why bother with Apache-MySQL-PHP stack at all?
Well, that is the end of first and (I hope) last rant I will ever have in my blog. Who knows, I might even delete this article. But for now... Let it be.
Update: I changed the style of the blog after writing this article and the new engine was not that bad. At least my site is HTML5 complient (according to W3C validator) now.