CAIA Center Dev Log 002
From GitHub Pages to Jekyll:
The Next Step
With GitHub Pages up and running, the next logical step was choosing a framework to manage the site. Static HTML was an option, but maintaining a growing project with hand-coded pages? That’s a one-way ticket to chaos. We needed something that was:
- Integrated with GitHub Pages (zero deployment hassle).
- Minimal effort to maintain (markdown-based, no complex setup).
- Flexible and extensible (themes, layouts, customization).
Enter Jekyll—a static site generator - by Joost van der Schee - that GitHub Pages natively supports, meaning it requires minimal effort and file space in the repository and no custom build pipeline to deploy. It is an Open Source project that deserves attention and support. Yes working with jekyll is a little getting used to, especially in GitHub Pages. But fear not, you will have the chance to follow our journey, where we explain the flaws and culprits, but also how we solve them. Because onece you know how your way around the constraints, config files, defaults and styling your posts in Markdown (.md), working with it is actually like with a content management system but with VSC codespace as your backend :)) Just Great! Plus, it has great theming options, including a standout choice: Minimal Mistakes by Michael Rose.
Minimal Mistakes: The Theme That Just Works
If you’ve ever searched for a well-designed, feature-rich Jekyll theme, you’ve probably come across Minimal Mistakes. Created by Michael Rose, this theme is one of the most widely used in the Jekyll ecosystem for a reason:
- Clean, professional design
- Built-in navigation, sidebars, and layouts
- Good mobile responsiveness
- Maintained and updated regularly
It was a no-brainer for us. Instead of reinventing the wheel, we got a fully functional, well-supported theme that could be easily customized to fit the CAIA Center’s needs.
Open-Source and Giving Back
Michael Rose has kept Minimal Mistakes open-source and free for anyone to use. And so did Joost van der Schee in developing and offering Jekyll. That’s the beauty of open-source development—it runs on collaboration, contributions, and the goodwill of developers who create and share their work.
So, as a small thank-you, we bought them a coffee via their rspective donation pagees. And if you’re using Jakyll and-or Minimal Mistakes, maybe consider doing the same—it’s one small way to support the people who keep open-source alive.
[Or a shirt for Jost van der Schee] … we are working on Jost’s details
Tech Snack: Jekyll on GitHub Pages
The Pros and The Gotchas
Jekyll is deeply integrated with GitHub Pages, making it an easy choice for static site generation. BUT, there are some caveats—not all Jekyll features are supported on GitHub Pages.
Why Certain Jekyll Plugins Don’t Work on GitHub Pages The most notable missing piece? Archives. Plugins like jekyll-archives don’t work. Why? GitHub Pages enforces a restricted set of allowed plugins for security and performance reasons.
GitHub’s Approach: Keeping It Secure and Simple GitHub Pages runs Jekyll in a controlled environment, where it prevents execution of arbitrary Ruby code. This restriction exists because:
Security – Allowing custom plugins means allowing any code to run on GitHub’s servers, which is a risk. Performance – Jekyll builds must remain lightweight since GitHub hosts and processes thousands of sites. Custom plugins could significantly increase build times. Workarounds for Unsupported Plugins If you need features that GitHub doesn’t support, you have two choices:
Use a separate build process:
Instead of letting GitHub build the site, you generate it locally with jekyll build and push the static files to the repo. Find alternatives: In our case, we built a custom postbar to replace jekyll-archives functionality and keep navigation dynamic without server-side logic. Conclusion: A Practical Choice with Some Trade-Offs Jekyll + Minimal Mistakes gave us the fastest, easiest way to get CAIA Center running on GitHub Pages. The trade-offs (like no archives plugin) are manageable, and the benefits—speed, simplicity, and seamless GitHub integration—make it well worth it.
Of course, as we build and refine the CAIA Center, we’ll encounter more challenges and figure out new ways to push Jekyll to its limits. That’s part of the experiment, and we’re excited to document it all here.
Stay tuned for the next dev log where we are gitting into the Jekyll basics—because the journey is just beginning. 🚀
sincerely
Seb & 4o