Setup

05 May 2026 - Tye H

After going through many job applications (so… many…) I have decided that I really need to bite the bullet and actually put out a personal site.

After a bit of research, it became clear that starting simple with GitHub Pages and adding a slight optimization would be the best weekend-friendly approach. The small optimization I am targeting is using Jekyllas the static site generator.

I know very little about Jekyll or Ruby or Gems for that matter so this will be a good introduction to these technologies as well. This file will serve as my notes for getting the site up and running so that future-me can coherently explain what and how I did it.

GitHub Pages

I’m starting with this guide for creating a static landing page.

The first thing this guide recommends is to make sure Git and Jekyll are installed so I’ll be jumping to that section for a minute…

Jekyll on macOS

Starting HereI’m going to make sure a new version of Ruby is installed. Apparently, macOS ships with a version of Ruby but docs recommend installing a new version and pointing your local machine’s PATH to it.

I already have homebrew installed on my mac so I will be jumping to step 2 to install chruby and ruby-install with

brew install chruby ruby-install

Now we install the latest Jekyll-supported version on Ruby (at the time of this writing is version 3.4.1)

ruby-install ruby 3.4.1

Next is configuring your shell to automatically use chruby:

echo "source $(brew --prefix)/opt/chruby/share/chruby/chruby.sh" >> ~/.zshrc
echo "source $(brew --prefix)/opt/chruby/share/chruby/auto.sh" >> ~/.zshrc
echo "chruby ruby-3.4.1" >> ~/.zshrc # run 'chruby' to see actual version

The doc recommends reading an article about switching between ruby versions. That’s not super important for me right now.

Next we just install jekyll with:

gem install jekyll

Creating a Site

Now that we’ve got the install up and running, I’ve cloned an empty repository from my GitHub, according to GitHub Page’s docs, the repo needs to be named github.io to be able to be picked up by whatever magic happens to create a site.

Issues and Rabbit Holes

Here are the main issues I ran into while setting this up. Maybe it’ll help with future setup.

The .zsh and .zprofile Rabbit Hole

I kept running into an issue installing chruby where whenever I opened the terminal I would see an error:

eval):1: parse error near `)' 

This error appeared after each login and after ~20 minutes of troubleshooting, I found that the issue was caused by my homebrew installation. I had already installed it prior to this and what I found was that I must have made a mistake in the original install. In my .zprofile file I had two lines that looked like this:

...
eval "$/opt/homebrew/bin/brew shellenv zsh)"

eval "$(/opt/homebrew/bin/brew shellenv zsh)"
...

Spot the difference? In the first line, I forgot an opening parenthesis. My best guess, knowing how I roll, is that I ran the incorrect command to add brew to my .zprofile and when the check command (probably running brew in the terminal) didn’t work, I ran the previous command again, this time correctly. Essentially, I had 2 of these eval commands and the first one was causing an error. This Reddit Post tipped me off to look in the .zprofile after going in circles with the the .zsh file as well.

Sass @import is being deprecated

I spent a lot of time on this one. I am running agent-less VS Code (I know, old school right?) for this setup mostly because I want to understand it, not have AI understand it for me. I’ve used Sass frequently in the past. Given that when we installed Jekyll, it also installed the version of Sass its dependent on, I’ve decided there isn’t much I can do about it other than clock the issues here and google it later when it breaks. Or maybe use an AI agent to fix it. We’ll see.

Anyway Sass’s @import statement highlights red in VS code. Maybe its something to do with the deprecation warning I’m reading about here or it could be that my VS Code setup is missing a better intellisense solution. Definitely not getting into that here.