Moving to Gatsby

4 min read

I've converted my blog to Gatsby... finally!

For the last couple of years, this blog has been based on the Hugo static site generator. As a JavaScript developer who primarily uses React, the move to a tool that is based on React and GraphQL just made sense. I've been wanting to get into Gatsby for a while now and with the recent release of Gatsby v2, I just couldn't wait any longer.

After reading through some docs and briefly tinkering with it in a couple of throw-away, sample projects, I was ready to commit for real. I installed the starter blog, made a few slight modifications and here we are!

I keept the start blog largely intact but tweaked a few settings, created a new template, and modified some queries. I had to make some very minor edits to my existing markdown files, but overall, moving the content over was no problem at all. In fact, I'm much happier with the content organization in my new Gatsby setup.

The coolest part of Gatsby is that it's not just generating static content. This is still a React app, so I can easily take what I learn here and use it to build applications. Adding more interactive functionality here doesn't require any changes or new dependencies, I just need to create some components and integrate them.

A focus on simplicity & accessibility

I want to keep things simple, both to read and for me to maintain. I also want to make sure that the content here is useful for as many people as possible, so I've put a lot of emphasis on accessibility.

The previous dark theme is no more. I may go back to darker colors someday, but I want to make sure I offer sufficient color contrast, so even with a dark theme, it won't be the one I had before.

I've checked the site for accessibility issues with the axe plugin from Deque and fixed the items it uncovered 1. I also found an accessible theme for prismjs to make sure the color contrast on code examples is WCAG AA compliant.

No more comments

I love the ability to have conversations about my posts, but I'd rather not embed disqus in my site anymore. I might seek out a replacement at some point, but for now I'm just going to keep it simple and ask that people start a conversation with me on Twitter.

What's next?

Now that I've finished migrating everything over to Gatsby, I will continue to make minor adjustments and I have some "features" I'll be building with React and GraphQL. I'm really happy with Gatsby so far and I'm a little sad I didn't just make the time to learn it when it first caught my eye, but better late than never.

More writing?

I'd love to think that this move is going to be the thing that gets me unstuck on my many partially written posts and that I'm going to get better about making time to write on a consistent basis. The likely reality is that I will continue to struggle to complete posts and the time I make for extracurricular activities will continue to be split between learning new tech, creating egghead lessons, preparing workshops for work and meetups, and writing. I will write when I can knowing that when I do, the process will be simple and the output will be fast and accessible to anybody who wants to consume it.

  1. There are some color contrast checks that are still inconclusive in posts with code examples. This appears to be due to elements overlapping in the DOM, so the axe tool cannot determine the background color of the text in question. The prism theme is an accessible one and I've double checked the colors individually so it should be good.