If you’re reading this, my new blogging workflow is working. The new process makes publishing easier and brings back key features I missed from my previous CMS. It took a bit of experimenting (and royally messing up at one point), but now it’s working — and I’m excited!

To recap, last year, I migrated from WordPress to Jekyll. I’ve documented why I did this and the apprehensions I’ve had since. In fact, I’ve been close to rolling back to WordPress a couple of times. These are the main features I missed:

  • One-click publishing
  • Editing from devices other than my Mac
  • Pre-scheduled posts

Jekyll is a static site generator, which means that web pages aren’t built on-the-fly but compiled into static HTML files. It’s great for security and speed, but there are downsides. For one thing, you’re tied to building the site in the machine that has the compiler. For another, you must move the resulting files from that computer to the web server.

It’s a multi-step process:

  1. Write the post in a text editor
  2. Compile the site with the command line Jekyll tool
  3. Sync the local site with a remote directory
  4. Commit changes to GitHub (for source version control)

Each step takes a bit of time, and the resulting friction affected my frequency. I’ve gone from posting almost daily to as little as once per week. Of course, a significant reason for this is my current book project. Still, I miss the ease of posting to WordPress, pre-scheduling posts (e.g., when going on holiday), and writing and fixing typos from other devices — especially the iPad.

The new process fixes these shortcomings. Instead of building on the Mac, it shifts the build and deployment steps to GitHub. Here’s how it works: I write and edit posts on my Mac (BBEdit) or iPad (Drafts or Textastic) and push changes to GitHub (with the terminal on the Mac or Working Copy on the iPad.) The push kicks off a GitHub action that builds the site on their side and deploys it to my Dreamhost shared server. I’ve set up a second action that builds and deploys the site at 8:50 am every morning in case I’ve pre-scheduled a post (using Jekyll’s future date feature.)

I’m excited about the possibilities afforded by this new workflow. This post is the first I’ve pre-scheduled with the new workflow — and I wrote it on my iPad. While I don’t expect to resume posting daily while working on the book, I expect the frequency to increase. And as a plus, I’ve learned about GitHub’s capabilities beyond version control, which open the door to other possibilities. Exciting stuff!