If you use docker, the following line will build and serve the site locally:
docker run --rm -v "$PWD:/srv/jekyll" -p 4000:4000 -it jekyll/jekyll:3.8 jekyll serve
If you want to enable LiveReload (pages automatically reload when jekyll rebuilds after detecting changes), then use this instead:
docker run --rm -v "$PWD:/srv/jekyll" \
-p 4000:4000 -p 35729:35729 \
-it jekyll/jekyll:3.8 \
jekyll serve --livereload
Visit this page for information about installing Ruby if your current version is too old; the instructions there form the basis for what you see here, and come in variants for all major operating systems. You should have Ruby 2.4+ for Jekyll. Since versions of macOS before Catalina with 2.3 (and Apple is dropping scripting language from macOS in the future), you may want a newer version even on a mac. You can use rbenv to manage multiple ruby versions. On macOS with homebrew, you'll want:
brew install rbenv
You'll need to run:
rbenv init
# Prints out instructions
and follow the instructions for your current shell. After you've installed rbenv on your system, use:
rbenv install 2.7.0
to get a current version of ruby. Then, inside the main iris-hep website directory, run:
rbenv local 2.7.0
This will run the Ruby you just built whenever you enter this directory. You'll want to install bundler too:
gem install bundle
(You may want to add --user-install
here if you are not using rbenv. And if
you don't have permission to install, and you are using rbenv, this means you
forgot to set it up with rbenv init
.)
The site is built with Jekyll, and is easy to run locally if you have Ruby.
To set up a "bundle" (local virtual environment in Python terms):
bundle install
Now, you can use bundle exec
to run a command in the new environment you just created, such as:
bundle exec jekyll serve
This will incrementally rebuild if anything changes in your directory. Exit with Control-C.