One of the problems with github pages is that it relies on an old version of Jekyll (3.9.0) I’m looking to understand what’s needed to remove this limitation.

Starting with a new site as the template.

Presumes you have Ruby / chruby setup.

  1. Create a new github repository

  1. Clone that repository

I use GitKraken, but feel free to use GitHub Desktop.

  1. Confirm ruby version we want

A good reference for the current release is:

Choose a version from here. Today this is 3.2.2

$ chruby 3.2.2
$ chruby
 * ruby-3.2.2

$ ruby -v
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin23]
  1. Create a new Jekyll project
% gem install bundler jekyll
Successfully installed bundler-2.4.22
Successfully installed jekyll-4.3.2
2 gems installed

% jekyll new .
Running bundle install in /Users/tom/playground/cobalt... 
  Bundler: Fetching gem metadata from
  Bundler: Resolving dependencies...
  Bundler: Bundle complete! 7 Gemfile dependencies, 33 gems now installed.
  Bundler: Use `bundle info [gemname]` to see where a bundled gem is installed.
New jekyll site installed in /Users/tom/playground/cobalt. 
  1. Ruby version file To avoid needing to run chruby (manually select) Ruby when opening the project, we’ll create a “.ruby-version” file.
% echo 3.2.2 >> .ruby-version

To test it’s working as expected

% cd ~
% cd -
% ruby -v
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin23]
  1. Gemfile.lock PLATFORMS…?

bundle lock --add-platform ruby

  1. Create starter script from GitHub Actions[profile]/[repo]/actions/new so in my case:

Then search for Jekyll.

Commit the jekyll.yml to the repo.

  1. Configure repo to run github pages

  1. Update Gemfile.lock

bundle lock –add-platform x86_64-darwin-20