I created wmboyles.com as a place to provide more in-depth information about me and my projects than can fit onto a resume. The first version of the website was done in pure HTML with no tools or frameworks. This was intentional so that I'd become deeply familiar with how the website was structured and not becomes reliant on tools that I didn't fully understand.
In the second iteration of the site, I started using Bootstrap . This gave the website the general "look" that it still has today. It also made the website much friendlier to mobile devices and varying screen sizes. I was also able to add in some neat features, like a collapsible navbar. I still use Bootstrap across the site today to do the vast majority of the styling.
Prior to the third (and current) iteration of the site, I was becoming increasingly frustrated when I needed to make small changes, like fixing a link in the navbar. I'd have to manually go and correct the link on each page the navbar appeared. This lead to lots of time wasted and lots of redundant code that was open to mistakes. To remedy this, I use Jekyll to generate the site for me. Jekyll's template and include features allow me to only have the information that is unique to each page in a file, while common elements exist in their own files.This approach allows me to have just one file I need to change when updating the navbar, which means fewer opportunities for mistakes.
I've used basically the same deployment tools through all iterations of the site. I have had a Google domain that costs $12/yr. The static site uses GitHub Pages, which works well with Jekyll. Although this approach has some limitations that come with a static site, it is extremely cost-effective and meets my needs. It also gives some nice features. For example, it takes maximum 2 minutes for a change I push to GitHub to be live and viewable.
Although you are already viewing the website, all the code is available on GitHub.