Flat File Future

I’m not sure exactly where I entered the rabbit hole, but I saw a mention of Statamic somewhere, and one link led to another until I realized there is a myriad of very slick, flat-file-based frameworks to choose from, in just about any language you prefer.

Perhaps the idea of a barebones, well-orchestrated platform was such a relief because I’d been spending my entire weekend hand-coding PHP to send multi-part MIME order confirmation emails with crusty table markup, in the thick of aging procedural code. From “GOOD GOD WHAT AM I DOING WITH MY LIFE” to “Oh cool, Statamic looks nice.”

Statamic just needs PHP 5.3. Pretty slim requirements1. It uses YAML for all config files, and creating plugins looks damn simple, enough to make PHP appear not-too-shabby as a language.

One of the earliest to start this trend is Jekyll, which has been around for some time, looking just gorgeous in its Ruby minimalism suit of adult soothing dark techy hues. Installing it is ridiculously simple:

gem install jekyll
jekyll create hotsauce
cd hotsauce && jekyll serve

Oo-lala! Like Python? I do. How about Cactus?

sudo easy_install cactus
cactus create holysmokes
cd holysmokes && cactus serve

Looks familiar! Jekyll comes a little more pre-styled, but they’re both very similar concepts. And along with Statamic, they all use a variant of the Django templating language (Cactus uses the real deal), which is fantastic.

But every time I get excited about using one of these handsomely simple frameworks, like Ghost, I remember that most sites I’ve worked on just aren’t minimal enough to be served entirely by these solutions. As soon as you need products or some custom data type the client can manage, or a page that mixes & matches data types (just about every site we do at Firebelly to my chagrin), I’d be fighting against their opinionated limitations.

All said, the next time I decide to redo my portfolio site, or have a simple site to build, I’m definitely going to give one of these a try. Being able to just create a new folder to extend heirarchy, work with markup entirely in inheriting templates, and version control the entire stack sounds damn refreshing.

For now, back to my PHP spaghetti.

  1. Though one thing about Statamic: it’s not free. I’ve noticed a trend emerging where folks are actually -gasp- charging for their work, and as a fellow developer I think this is a fine direction to go in. ↩︎