Before switching to Jekyll, I did a ton of research on how this all works and what the best publishing workflow is. When I read some of the articles out there, I thought ‘damn, that’s so complicated! There must be an easier way to do it.’ And indeed there was.

But a lot more research had to be done because making it all work the way it works now meant doing things on my server that I’ve never done before…

Components that allow me the two step workflow

This blog runs on a VPS, which I got for a fiver a month with Linode. It’s a great little machine with just enough power to make it all work, without breaking my bank account.

Installing Jekyll was easy enough but instead of using the official documentation, I used a 3 part tutorial I found on DigitalOcean. It’s a great how to, taking you from initial VPS setup (using Ubuntu), through Jekyll installation to describing how it all works.

You also need Dropbox account and their server tools.

The last but not the least piece of software is something called Incrontab. This allowed me to watch for changes in the dedicated Dropbox folder and run a script, which copies new or updated files over to Jekyll’s _posts folder.

These files are then used to generate static HTML files. Running Jekyll with the --destination parameter set to /var/www/html moves the generated files to my web server’s root folder.

I will create a detailed How To at some point so you don’t have to spend hours trying to figure it out.

Finally, the actual workflow

Thanks to the setup described above, I only have to do these two things to publish a new post:

  • create a markdown document in iA Writer
  • rename it so it meets the post naming rules of Jekyll

Yep, that’s it. Just two steps. They would’ve been three steps but creating the file directly in the Dropbox folder saves me one step. And because the file doesn’t meet the post naming rules it won’t get published because Jekyll ‘doesn’t see’ it.

If I want to update an existing post, I just open it in iA Writer, make changes and save it.

And if I decide I want to delete a post, I just remove it from Dropbox. Done.