Jekyll is a static site generator with built-in support for GitHub pages. It takes content written in a given markup language (e.g. Markdown), and applies layouts and configuration to render the HTML site.
Overview of Installing Jekyll
The Jekyll engine must be installed and running, in order to render your site. One way to install Jekyll is to:
- Install Ruby, which is a dependency for Jekyll.
- Instal Jekyll, and it’s required Ruby Gems.
- Run Jekyll.
The main issues with this approach are:
- It requires quite a lot of configuration on the host machine. This might break other applications. And the dependencies can be hard to maintain.
- Where’s the fun in doing it that way?
So I prefer to run Jekyll using a Docker container.
The off-the-shelf container is fine, but I found it needed a bit of work to get it running properly with GitHub Pages. Consequently, I’ve created my own Jekyll Docker image.
My Jekyll Image
This is a modified Docker container image, based on Jekyll/Jekyll. It installs all the pre-reqs needed to run with GitHub Pages, as well as for rendering sites locally. It comes pre-canned with configuration, as well as a Docker compose file.
For more details, check out my Jekyll image over at GitHub.