Set up an environment to preview your github-pages locally
Unlike the half-baked guide on official docs, this repository provides a “setup once, use anywhere” environment for previewing github pages locally.
The generated preview closely matches GitHub’s deployment runner, with negligible differences in a few {{ site.github }} properties. All page themes and plugins listed in github pages dependencies come bundled with the initial setup. This includes QoL plugins such as jekyll-github-metadata, jekyll-optional-front-matter, etc.
While most plugins in the said list are loaded by default on github pages, some need to be explicitly enabled via the plugins: list in _config.yml.
ruby, gem and bundler are installed
sudo apt install ruby ruby-dev build-essential
gem install bundler
(or download from ruby-lang.org)
bundle install
example.env to .env and edit the values. This step deals with repo naming and github API calls
cp example.env .env
To start the local server, run jekyll with --source flag with directory path of the repo you want to preview:
bundler exec jekyll serve --livereload --source ../your/repo/path
Or use runserver.sh which is a simple wrapper around that long command:
./runserver.sh ../your/repo/path
The path defaults to the current directory if not specified.
[!Important]
For resolving the repo name and github metadata variables,.envneeds to be configured as mentioned in step 3 of the setup.NEVER commit your API tokens to the public!
To update to the latest Github Pages version, run bundler’s update command:
bundler update github-pages
For further information or troubleshooting, refer to the documentation on Github Pages gem.