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...