How I made this website
Last updated Oct 19, 2025
Helpful notes on how the website is created
The website is created with Jekyll, which is software that takes in markdown then convert them to HTML for a website based on some template layouts. I chose the minimal mistakes, which among the free one among many others you can choose.
Prior to 2023, you will need to have all Jekyll functionality all worked out locally before you can publish your html’s to github site. At one point in 2024, Github really encourages building Jekyll sites with Github Action. You can find the offical doc here. TDLR: instead of installing Ruby, Jekyll etc locally, you will ask the Github server run these processes to convert the markdowns to HTML.
The hell of versioning
It was not easy to find versions of packages that work together and here is working combo.
gem "github-pages","215", group: :jekyll_plugins
with ruby-version: '3.1'
set in file .github/workflows
.
Higher Ruby versions contains weird dependency issues with Liquid
that is extremely hard to get by.
New in Oct 2024: Need to specify Ubuntu 22.04 in runner image, see Github Issue. Change to runs-on: ubuntu-22.04
in file .github/workflows
.