Looking back at my blogging history over the past couple of years, I'm almost embarassed by how sporadic my writing has been. It started to taper out as my daughter, then just a newborn, absorbed most of my free time; then it was largely annihilated by "Links for XYZ Date" delicious auto-posts and, to an even larger degree, a plague of "Yesterday's Tweets". I remember tweeting at one point that
the problem with microblogging is that after a while you only have micro-thoughts
and it's really true; as my own worst critic, I get angry at myself for not having anything worth saying. Then my frustration with the Wordpress upgrade cycle really kept me from wanting to write--I kept spending all my time managing updates, and that's too much like my day job...
Meanwhile, the cool kids latched onto Jekyll and static site generators, and I thought to myself Maybe that's the ticket, just pure writing that's easily transformed into something that won't have critical security flaws discovered every couple of weeks. But I wanted a tool that I could be relatively happy working with and extending as needed, and really don't care for the look or feel of Ruby--nor did I like the sound of Gary Bernhardt's reports of Jekyll's silent failures and poor error messaging)--so I stalled for months and eventually decided that I might as well just write my own in Python. But just in case, I thought, I'd better take one last quick look around to see if anyone else is thinking the same thing.
And that's when I found Blogofile--a static site generator that's more or less exactly what I wanted.
I also discovered that converting your blog to a whole different paradigm is another great way to put off writing. There's all the fun of experimentation, data export, cleanup, styling, contributing fixes back upstream... Who needs to write when you can fill your time making a perfect shell for all those words to live in?
But, at long last, I've ripped off the band-aid and forced myself to switch over. I've got a lot of cleanup yet to do--I need to migrate the old static content (various downloads, presentation slides, and so forth) as well as audit my logs for 404s to rewrite into 301s--but I'm pretty pleased so far.
Reasons I like Blogofile so far:
- Pure text files; just me and vim and source control
- An excuse to try out git
- No Wordpress upgrade cycle
- No plugins clamoring for updates
- A receptive project owner; Ryan is great to chat with and is quite hospitable to patches and suggestions
- A friendly (albeit relatively small and quiet) community--the mailing list is pretty low on traffic (also low on noise), and the
#blogofileIRC channel on freenode is a nice place to have useful discussions
- Supports multiple markup styles--most of my exported data is html, while my recent posts are written in markdown; restructured text is available too, and it's pretty straightforward to plug in other parsers if you want
- Syntax highlighting with Pygments
- A simpler site means a reduced attack surface
- Managing everything with a DVCS means I can work offline as much as I need
- DVCS also means I can shift easily between computers and not lose any work
Potential drawbacks to be aware of:
- It feels a little inefficient to regenerate the entire site when a single entry is changed (it's not too bad until you have 8 years of blog posts)
- More disk space than I'm used to using (though still modest compared to what my hosting plan allows)
- No on-the-fly on-site searching or slicing of data (speaking of which, I should add a search box...)
- Managing everything with DVCS means whatever you're writing with has to be able to do git, have a filesystem, etc.--so no easy route to blogging from an iPhone or iPad, post-by-email, or that sort of thing (one could presumably craft a solution for this, but it's a lot more DIY effort than I want right now)
- Publishing is a bit DIY as well--if you're used to just clicking the "publish" button in Wordpress, you might chafe a bit at the idea of setting up remote git post-receive hooks or assembling fabric scripts to make your life easier
- Still evolving--you definitely want to use the master branch from github rather than the 0.6 release; it's ready for an 0.7 release IMO
This is my first real experience with git, and I'm not sure whether I want to call it a benefit or a pain--it seems like it's a bit of both.
On the whole, though, I'm really liking using and contributing to Blogofile, and I recommend checking it out if you're looking for a different way to approach blogging.