Zach Steiner
Apr 23, 2023

Goodbye Gatsby, Hello Next

  • JavaScript

It seems 4 years is the lifespan of a platform for this site. I liked Gatsby, but to be honest GraphQL was overkill for my needs. I really just need to render content from markdown files. Having become well acquainted with Next.js for work, I decided to take the plunge. In fact, I converted a Gatsby docs site to Next recently. The migration guide was really straightforward for that site. For this one? A bit less so.

All of the components were available, but I had to pull out all of the GraphQL queries for content and reimagine routing using Next's file-based routing and marry to having content in markdown files. It was a nice learning opportunity to better understand how getStaticProps works.

I also took the opportunity to migrate to TypeScript and remove Sass in favor of custom properties. I also finally rolled out logical properties for all my CSS. Not a visual refresh, but a total rearchitecting. Also, I now have the level of linting and auto-fixing that I enjoy at work.

Biggest challenge was at deployment to Netlify. It was a challenge to get it to work next/image and it's optimization. My first deploy had no images, so I had to do some digging to figure out how to get my images to not 404. Ultimately, it was a very silly thing. Gatsby publishes to /public and has assets in /static but /public is where Next serves assets. I had /public in my gitignore. Sigh...