Rewriting my site using Gatsby

Doing what an engineer does best, rewriting.

May 23, 2019

My personal website originally started as a blog built with ghost, the blogging platform. It was simple, easy to use, and had a web-based authoring experience. But I began to feel its limitations in terms of customizing my themes as well as adding other sections, such as projects, or books I’ve read. I switched to using jekyll and did a fresh rewrite. I chose a theme and customized it to work the way I wanted it to. It has worked very well for me over the last year or so, but I again ran into issues. For one I am not a ruby developer. I primarily work in Javascript, React, and more recently Swift. So Ruby just isn’t a tool I reach for very often. Thus having the tooling available on all of my machines was a chore. Every time I wanted to add to my website, I had to look up the bundler and Jekyll CLI scripts. Lastly, I was struggling with using liquid, the templating language used by Jekyll. Its syntax is close to others such as mustache or handlebars, but when you get down into the more specifics, such as looping, filtering, etc… I was having to look up the syntax, and often not finding any resources. As a result, I decided to do a rewrite using Gatsby. It’s built with Javascript, uses react, and seems to be very well maintained. There are a ton of plugins as well as tutorials on the web for getting started. Since I use Javascript, react, and npm every day for my job and side projects, I didn’t have to get my machines set up, nor did I constantly have to look up script names and syntax. The one drawback was that I had to design the site, essentially from scratch. I really like the look of vertical navigation and decided to incorporate that into the new design. I would also really like to explore horizontal scrolling instead of vertical, but the browser experience with horizontal scrolling is sub-par. Perhaps something I will experiment with later.

For more content like this and to know when I post new content, follow me on Twitter.

© Matthew Sessions 2022