Website Overhaul

Written on June 10, 2021

Overview

The code can be found here the site is based on the personal site of Ian Whiteston.

After using the same personal site for the past six years I decided it was time to update the site. The original site, found here, was based on a bootstrap theme and was hosted through Github Pages. Unfortunately, due to the nature of the site, and some of my changes, I found that it was tedious to update without breaking the styling, as a result, I only minimally updated the site over the years. Assessing the fragile nature of the old site, and it’s needless complexity, I decided to move to a simpler site rather than update or refresh the old one.

Static Site Generators

In my research on personal website design and deployment I found many recommendations for static site generators. What most interested me was the ability to create set style templates which take a simple markdown to post a new page (so much easier than how I had to write posts on my old webpage). Next, I had to decide which static site generator to use. After comparing and contrasting Hugo, Jekyll, Gatsby, and a few others, I decided on Jekyll. I came to this decision because of two primary reasons: I had originally planned to deploy the site through a github page so I needed something compatible, and in reading through the docs Jekyll seemed the simplest to get running, which was appealing as this is my first real web project.

Deployment and DNS

When looking into personal websites two ways to host were constantly recommended: Github Pages and Netlify. Since I have experience with Github Pages I decided to look into Netlify which pitches itself as “an intuitive Git-based workflow and powerful serverless platform to build, deploy, and collaborate on web apps.” The basic idea is that you point it at a git repo and Netlify deploys the website there, rebuilding the site each time the git repo is subsequently updated. While similar to github pages (push to repo update website), Netlify has more features and supports more complex builds. I expected that setting up the build would take some fidgeting, however, the process went extremely smoothly. From making my user account to deploying my website the total time was around 5 minutes (extremely easy and simple to understand). After setting up my website’s hosting, I worked on changing my domain to point to my new site rather than my old one. I set up my domain name in Netlify but opted to keep the dns settings in Google Domains. Setting this up was rather simple, after putting my domain into Netlify it gave me A and CNAME Resource Records for Google Domains.

Conclusion

All in all, setting up this new website was a bunch of fun and let me play with websites, something I have always wanted to do, but never had the time. A basic template will be posted to my Github in the future so people can clone the theme.