Looking for a project to undertake this weekend? Why not test out a few static website generators?
The idea of static website generation may look pretty appealing, at least from the world of hurt that blogging software like WordPress can conjure.
As jumpy system administrators know all too well, blogs can be time bombs. When something goes wrong, is it the shaky blogging platform? Or, the shaky framework perched on top? Or, could the culprit be any one of however-many barely-documented plug-ins that may festoon on the site? Perhaps the Diablo hides within the creaky foundations of the PHP underneath, never considered the most consistent of languages to begin with? Woe be the operator who gets “The White Screen of Death” (WSoD), one that shows the users no content and the admin no error codes.
And don’t be smug, Drupal users, your favored pile of code has issues too.
At some point, even the most patient admin must wonder if all the complexity abstracted away by blogging software is more than offset than the new complexity introduced by the blogging software itself. And you’ll have to deal with that underlying complexity sooner or later anyway: While blogging software makes it easy to do some things, like automatically creating category pages, it makes it almost impossible to do other things, crazy things that an innovative designer will invariably want to do
Static Website Generators are the back-to-nature movement for Web design. Feed the generator some simple markdown copy from within your favorite text editor and it produces crisp wholesome code, code based on standards-hardened old-fashioned HTML and CSS. No database is needed; the end-product is human-readable file that will survive long after the last MySQL table is corrupted by the slow accumulation of software cruft.
Word of static Website generators is spreading like a grassroots fire. You may have seen the phrase “static site generators” bouncing around the Twittersphere but do you know the five most popular open source ones? According to StaticGen data crunches, they are: “Jekyll,” “GitBook,” “Octopress,” “Hexo,” “Pelican,” and “Brunch.” They all have simple and almost uniformly artisanal names, no doubt to denote their putative elegant simplicity.
Not everyone is on-board however. Assessing their value proposition, tech writer Danny Crichton concluded that their supposed benefit is misguided. The “optimization” is in the wrong place, so to speak, because it is focused on the website reader, not the writer.
The focus of blogging software should be to make it as easy as possible for a writer to post a piece of writing, he argued, which is something WordPress is great at, and a site generator such as the Python-based Pelican is, despite its honorable intentions, is still not so hot at, he concluded.
“Even with some additional scripts that I wrote to make Pelican more palatable, the reality is that it was a real pain to actually write. I had to fix the filename perfectly so that Pelican would read it, I had to run the pelican command line through a script I wrote, then I had to sync all the files to my server so that it could actually be viewed. Whenever I was done with a post, I had another 10 minutes of work just to get it launched,” he wrote.