After reading the Stack Exchange engineering team’s excellent writeup on how they moved their WordPress blogs to Jekyll, I’ve decided to quit procrastinating and start my own Jekyll-powered blog – blog.danwin.com. I’ve used WordPress for my blog at danwin.com for the past 5 years and I’ll probably leave that as is, as I don’t have the Stack Exchange team’s talent or patience for doing the content migration.

Don’t get me wrong; WordPress is a fantastic piece of software, considering how long it has lived and the millions of voices it has hosted on the Internet. But it’s not for me. While my current blog gets a decent amount of Google search traffic (people love reading about how infinite scroll might be bad), over the years, I couldn’t bring myself to keep posting to it. It’s not that I didn’t have ideas – I have a Dropbox folder full of 75%-finished posts that I could paste into the WordPress text editor. And I still post daily to Twitter, Hacker News, and while I was in New York, Tumblr.

I just got tired of the WordPress posting process. The logging into my abysmally slow cheap Dreamhost instance. Then, the 5 to 25 second wait for the New Post screen to load up. And then, the process of turning my Markdown drafts into HTML, then pasting into the WordPress rich text editor. Then the hand-fixing of HTML. Then hitting “Publish”, and waiting for my cheapo Dreamhost shared server to take 30 seconds to complete the action. And then I manually run the cache-busting plugin. When I inevitably have to fix typos or add new paragraphs to the post, I have to repeat all of the steps above, sometimes starting from the re-editing of the original Markdown textfile, all the while my cheapo Dreamhost server, which I pay $99 a year for, is taking 15 to 30 seconds to load each page.

It’s funny how a few minutes of friction are more than enough to stop the creative process. So moving to a whole new blogging platform, as momentous as it seems, is worth it to me because the publishing process is reduced to mere seconds.

After setting up a new Jekyll project on my computer, this is my publishing process:

  1. Open my text editor (Sublime Text 3).
  2. Write plain text.
  3. Hit Cmd-S to save my changes.
  4. Hit Cmd-Tab to switch to my command prompt
  5. Type jekyll build to build out the entire blog into a subfolder.
  6. Type s3_website push to push that subfolder online.
  7. Wait a few seconds for the changes to appear at blog.danwin.com

My first brush with Markdown and Jekyll was building out the Bastards Book of Photography using the Octopress framework.

Since then, virtually everything I’ve done has been with a static site generator, particularly the wonderful Middleman project – check out this writeup by Vox Media’s product team on how they use Middleman: Take a peek at the code that powered The Verge 50.

Obvious benefits

The less-heralded benefits of static-site generation

  • Use and practice your operating system skills
  • Find-and-replace across text files
  • Backup however you want
  • Learn how to hack

Things I’ve made

These sites use either Jekyll or Middleman:

Other cool things

A list of other organizations and people using Jekyll or Middleman.

How I Jekyll

You can see the repo here.

I’ve set up a Amazon S3 bucket named blog.danwin.com and I use the s3_website to handle the pushing and syncing of files.

So far, no custom plugins.