Local Development

Local Development

Prerequisites

Ruby 3.3.6 is managed via rbenv (installed via Homebrew). It is configured for this project via .ruby-version and initialised in ~/.zshrc, so no manual PATH setup is needed after a fresh terminal.

Running the site locally

bundle exec jekyll serve

Then open http://127.0.0.1:4000 in your browser.

The server watches for file changes and rebuilds automatically. Stop it with Ctrl-C.

First-time setup (new machine)

If you are setting up on a new machine from scratch:

# Install rbenv and ruby-build
brew install rbenv ruby-build

# Add rbenv to your shell (then restart the terminal)
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc

# Install Ruby 3.3.6
rbenv install 3.3.6

# Install gems
gem install bundler
bundle install

How it works

Component Detail
Ruby 3.3.6 via rbenv
Jekyll github-pages gem (mirrors the version GitHub uses)
_plugins/ruby32_compat.rb Patches back String#tainted? removed in Ruby 3.2, which the bundled Liquid 4.x still calls

Updating gems

To pull in the latest github-pages gem (keeps local parity with GitHub’s environment):

bundle update github-pages

App icon

The app icon at assets/images/app-icon.png is copied from the Xcode project:

../Binder/Assets.xcassets/AppIcon.appiconset/Binder-Logo-19.png

To update it, copy the new file over assets/images/app-icon.png and commit.