wonderfulfrog.com/src/posts/2020-09-13-whats-next.md
2024-02-26 16:28:23 -08:00

3.4 KiB
Raw Blame History

title excerpt tags
Whats Next? From one framework to another.
nextjs
gatsbyjs
tailwind

This site is now powered by NextJS. This is the site rebuild I have been talking about for some time, but it didnt turn out the way I was planning.

Why NextJS?

Short answer: because I wanted to learn it.

Long answer: I wasnt completely satisfied with the GatsbyJS ecosystem. It lead me to learn GraphQL and a little bit of Webpack, but it felt largely like a black box to me.

More recently though I read about some troubling details a contractor faced while working for GatsbyJS. I was not at all impressed with how GatsbyJS handled this. Their CEOs empty apology in an open letter reeks of “techbro culture” to me. The whole situation is a real mess. Given that Ive personally been unsatisfied with the ecosystem, this seemed like a good time to ditch GatsbyJS in favor of something else. But what...?

For a while I toyed with the idea of making it myself, but that seemed like too much work for how little I need. Im not that interested in tweaking every aspect of my build process. I like to find opinionated tools that align with my goals instead of making my own.

Aside: An opinionated tool in my case is a framework or library that has opted to make some choices or “sensible defaults” that align with how I would potentially use it. I dont need to spend time reconfiguring everything to work how I want it to.

I tried to find some lightweight frameworks that read Markdown (or MDX) files and create HTML files from them. After reading this post, I was convinced that I should try out NextJS. More importantly the post told me how NextJS worked. It made total sense to me:

  • Read the files we want
  • Use remark to convert them to HTML
  • Build pages from that output

Done. Simple. No need to add GraphQL. Right from the get-go everything made sense to me, which I cant necessarily say for GatsbyJS.

What about Tailwind or Theme UI?

I previously stated that I was planning on using TailwindCSS and then later Theme UI to help style my site. I ended up flitting between the two for some time before deciding that they were too heavy-handed and too complex for what I needed. It also felt like I ended up fighting with the default style, trying to remove style I didnt like. This sounds like an opinionated tool that doesnt align with my goals. I opted to instead do my styling by hand. I only use a small set of the standard HTML elements, so I neednt worry about making sure every single element is styled properly. Instead I opted to:

  • Set the font to something I like (in this case all system defaults)
  • Set some CSS variables with a color scheme I designed
  • Gradually style every element using my current content as a test
  • Add some font scaling

Called it done there.

Now that I have the basic framework down, I plan to flex my developer muscles and slowly introduce some of my own character and add delight into my site. I want to make it a fun place to visit.

As much fun as a website can be, anyway. 😄