Migrating from Jekyll to Gatsby + Ghost
March 27, 2019

Migrating from Jekyll to Gatsby + Ghost

A few years ago I built a blog with Jekyll (https://sethxd.github.io). It was a good challenge for me, but I didn't feel like I learned much. I learned as much Ruby as I needed to get it up and running, and spent some time styling the theme to get it looking just how I wanted, but then it stagnated.

I haven't used Ruby for anything else since then, and have made only minor changes to the blog structure and styling over the years.

Recently I've started learning React and ran across Gatsby, a React-based static site generator. Similar to Jekyll, but built on a language I actually want to learn and do more with. But I also knew I wanted to use a CMS. There were times working with Jekyll I had an idea for a blog but ended up dropping it because:

  • I didn't want to write in Markdown.
  • Inserting images and code blocks was kind of a pain.
  • Building and updating online felt clunky.

There were things I could have done in Jekyll to decrease that friction (vs code extensions, etc.) but I never did. I just wanted a slick CMS experience. I've been thinking about building a new blog with Ghost for some time, so when I saw a plugin to use Ghost as a backend for a Gatsby blog, it seemed like exactly what I was looking for.

I'm using Gatsby as a frontend, hosted on Netlify, pulling in the blog content from Ghost instance hosted on DigitalOcean. It was all relatively easy to set up. Any changes to the frontend will be automatically built and deployed by Netlify when I push an update to the repository, and I'm also using a webhook to trigger a build when I add or update a post in Ghost.

So I'm moving forward with Ghost + Gatsby. I'm hoping eliminating some of the friction will see me writing and posting more frequently.