There.
So, what’s the first thing that a nerd does before blogging again? Tinker with blogging software, of course.
Nothing, really. In fact, I managed to hack together some emacs config and rake tasks that more or less did things the way I wanted them done: easily start a new draft, publish said draft and mindlessly publish (via rsync). It worked pretty well, at least for this blog. (More big claims: I might start other blogs this year).
When I first converted this blog from Drupal to Jekyll, I remember looking at Octopress. Aside from the “Kubrik of Jekyll” theme, the thing that always bugged me was “start by cloning this repository” as instructions. I want my blogging tool to be a package I install and commands I use to manage my blog.
Apparently, back in October, I stumbled across the next generation of Octopress. I don’t even remember how. (Yes, this post has been a long time coming). A few weeks ago, the official teaser post came out and nicely summarized some of the features. Essentially, Octopress 3 does the things I want and more. Things I dig so far:
octopress new draft
and octopress publish
, etc.octopress deploy
octopress isolate
which is great when your blog (however sporadically used) dates back over a decade.Maybe nicer tools won’t make for better writing habits, but it definitely won’t hurt.
Here’s to writing more, in public, at my own domain in 2015.
]]>This site is now powered by (or generated by) Jekyll - not entirely unlike the homegrown set of scripts that generated this site before it moved to Drupal. Jekyll has become hugely popular over the past few years in large part due to Github pages.
I knew I wanted out of the maintenance overhead of having a dynamic site (security upgrades, monitoring comments, etc) and spent a lot of time looking around at the various alternatives. I nearly ended up using Hyde because I’m generally more comfortable in Python than Ruby, but the Jekyll momentum means that there are plenty of resources around for doing things.
My biggest goal was to get back to writing instead of applying updates (and thinking of more efficient ways to apply updates). I have never enjoyed writing in a browser window. In fact, the handful of blog posts I wrote last year were all written/edited in Markdown in Emacs and copied to my site after. The move to Jekyll is to bring me closer to that writing workflow.
While I’ve never been much of a “blogger” per se, it’s clear from looking through my archives that I used to write in this space far more frequently than I do now.
You may notice (particularly if you’re reading this on my site and not in a feed reader) that I don’t have any comments enabled. This is deliberate - a statement if you will. I don’t think we (the internet) have figured out how to do “social” - by which I mean conversations - in a good, decentralized, federated way yet. I have a lot of thoughts on this whole topic that I hope to share in a separate post.
On to the geeky goods! I’ve spent a little time here and there over the past week figuring out how I wanted things to work and the best way to make it happen. My full site is available on Github, but I thought I’d highlight some important pieces:
First up, was pulling all of my old content out of Drupal. Because walkah.net was running Drupal 7 - the included migrator (which is based on Drupal 6) didn’t work. My modified version is in _import. It’s specific to my setup, but should be a good starting point for anyone attempting a similar move.
Next, a lot of my site’s traffic is generated from per-tag feeds offered by Drupal’s taxonomy system. This isn’t something that jekyll provides out of the box, so I created a simple plugin to generate tag listing pages and associated feeds.
When you run a Drupal site through as many major versions as I did, things change. As such, I ended up with a bunch of duplicate path aliases. Jekyll, by default, ignores all “dot files” (file with ‘.’ at the start of their name), so I used this hint to include an htaccess file where I keep any redirects/aliases/etc.
Of course, since I wanted to be able to write my posts in Emacs with markdown-mode, I am making use of jekyll.el from Jack Moffit. Creating a new blog post is now M-x jekyll-draft-post
!
Finally, I’m using a very simple Rakefile to deploy new blog posts via rsync.
Now I can blog from the place where I do most of my writing (emacs), publishing is a single shell command, and there is 0 maintenance required for my personal blog. Progress!
]]>