This website is built using Jekyll and hosted on Github Pages. Jekyll is a so-called Ruby Gem — i.e. built on top of the Ruby language, and uses a combination of Markdown, HTML/CSS, and Javascript to run.

When deciding to set up a personal website, I considered several options beyond Jekyll: e.g. Hugo, Notion, bare HTML/CSS, and WYSIWYG editors like Wix or Squarespace. Ultimately, I decided to go with Jekyll for its easy integrate with Github Pages, and because I liked the al-folio theme. I found the Jekyll/Github workflow to be relatively simple to set up, and so hope that this quick guide can be helpful for anyone wishing to quickly set up a website!

Installing Ruby and Jekyll

See additional instructions here.

The first thing we need to do is to install Ruby. From the official documentation, this can be done via Homebrew. However, if you’re like me, and use conda as your main package manager, it turns out to be somewhat thorny to get conda and brew to work together on a Mac. I decided to avoid Homebrew altogether for this reason.

Rbenv Setup

Instead, I used rbenv: a lightweight command-line tool for installing and managing Ruby versions. More details can be found in the guide above, and in the rbenv documentation.

  1. Get the rbenv installer shell script and run:
     $ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
    

    This clones rbenv and ruby-build from Github into the folder ./rbenv.

  2. Add ~/.rbenv/bin to the system PATH:
    • Basically, allowing your system to recognize rbenv as a command. For Mac (zsh):
      $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
      
  3. Initialize rbenv:
    • Run the following two lines and then restart terminal for changes to take effect:
      $ ~/.rbenv/bin/rbenv init
      $ eval "$(rbenv init - zsh)"
      
  4. Check installation using script:
    $ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
    

Ruby Setup

One that’s done, Ruby can be installed via:

$ rbenv install -l # list latest stable versions
$ rbenv install 2.7.5 # install a particular version
$ rbenv global 2.7.5  # set that particular version as the main one

Jekyll Setup

Finally, we can install Jekyll and Bundler (for Gems):

 $ gem install jekyll bundler 


Setting up a Local Server

Starting with a Jekyll template on Github, you can clone into the repo and get it set up via:

$ git clone git@github.com:<your-username>/<your-repo-name>.git
$ cd <your-repo-name>
$ bundle install
$ bundle exec jekyll serve