This document details the modernization changes made to this Jekyll site (last updated: January 2026).
This site was modernized from an outdated Jekyll 3.x configuration to current best practices while maintaining compatibility with GitHub Pages.
File: _config.yml
Deprecated → Modern:
plugins_dir→pluginswhitelist→allowlist
Added:
jekyll-include-cacheplugin (required by Minimal Mistakes theme)
File: _config.yml
What Changed:
- Removed Google Universal Analytics (UA-107095408-1) - discontinued July 2023
- Simplified analytics configuration to disabled state
- Removed unused GA4 configuration placeholders
Why: The site doesn't require analytics tracking.
File: _config.yml
What Changed:
- Migrated from Facebook Comments to giscus (GitHub Discussions-based)
- Removed Staticman configuration (unused)
Why: Facebook deprecated their comments plugin in 2021. Giscus is modern, privacy-friendly, and GitHub-native.
File: _config.yml
What Changed:
- Removed empty social profile fields (20+ unused fields)
- Kept active profiles: email, GitHub, Facebook
- Added comment for future social profile additions
Why: Cleaner configuration, easier maintenance.
File: Gemfile
What Changed:
- Added explicit
webrickdependency (required for Ruby 3.0+) - Added
jekyll-include-cacheto plugins list - Cleaned up and modernized Gemfile structure
- Ran
bundle updateto update all dependencies
Result: All dependencies updated to latest GitHub Pages compatible versions.
- Ruby 3.0 or higher (tested with Ruby 3.2.0)
- Bundler gem installed
# Install dependencies
bundle install
# Build the site
bundle exec jekyll build
# Serve locally (http://localhost:4000)
bundle exec jekyll serveThe site is configured for giscus comments, but requires manual setup:
-
Enable GitHub Discussions:
- Go to https://github.com/rellimmot/rellimmot.github.io/settings
- Scroll to "Features" section
- Check "Discussions"
-
Install giscus App:
- Visit https://github.com/apps/giscus
- Click "Install"
- Select your repository
-
Configure giscus:
- Visit https://giscus.app
- Enter your repository:
rellimmot/rellimmot.github.io - Choose "Discussion title contains page pathname"
- Select or create a "Comments" category
- Copy the generated
repo_idandcategory_id
-
Update _config.yml:
comments: provider: "giscus" giscus: repo_id: "R_xxx" # Replace with your repo_id category_name: "Comments" category_id: "DIC_xxx" # Replace with your category_id discussion_term: "pathname" reactions_enabled: '1' theme: "preferred_color_scheme"
-
Enable Comments on Posts:
- Comments are controlled per-post via front matter
- Edit post to add
comments: trueor update defaults in_config.yml
The site auto-deploys via GitHub Pages when you push to master:
git add .
git commit -m "Your commit message"
git push origin masterVisit https://www.rellimmot.com after 1-2 minutes to see changes.
- Jekyll: 3.10.0 (via github-pages gem v232)
- Theme: Minimal Mistakes 4.27.3
- Ruby: 3.2.0+
- Theme Skin: default
- jekyll-paginate
- jekyll-sitemap
- jekyll-gist
- jekyll-feed
- jemoji
- jekyll-include-cache
- Pagination: 5 posts per page
- Collections: Portfolio
- Archives: Liquid-based (GitHub Pages compatible)
- Markdown: Kramdown with Rouge syntax highlighting
"cannot load such file -- webrick"
bundle add webrick"Liquid Exception: Included file '_includes/xxx' not found"
- Ensure
jekyll-include-cacheis in bothpluginsandallowlistsections of_config.yml - Run
bundle installto ensure the plugin is installed
Changes not appearing:
- Restart Jekyll server (it doesn't auto-reload
_config.yml) - Clear browser cache
- Check
excludelist in_config.yml
Port 4000 already in use:
# Kill existing process
pkill -f jekyll
# Or use different port
bundle exec jekyll serve --port 4001Site not updating on GitHub Pages:
- Check GitHub Actions tab for build errors
- Verify you pushed to the correct branch (master)
- GitHub Pages can take 1-5 minutes to rebuild
404 errors on deployed site:
- Check
urlandbaseurlin_config.yml - Verify file paths are correct (case-sensitive on GitHub Pages)
giscus comments not appearing:
- Verify GitHub Discussions is enabled
- Check
repo_idandcategory_idare correct - Ensure
comments: truein post front matter - Check browser console for JavaScript errors
- Verify giscus app is installed for the repository
.
├── _config.yml # Main configuration
├── Gemfile # Ruby dependencies
├── Gemfile.lock # Locked dependency versions
├── _posts/ # Blog posts
├── _pages/ # Static pages
├── _portfolio/ # Portfolio items
├── assets/ # CSS, JS, images
│ ├── images/
│ └── js/
├── _includes/ # Reusable HTML components
├── _layouts/ # Page templates
└── _sass/ # Sass stylesheets
-
Migrate to Jekyll 4.x:
- Requires GitHub Actions workflow (not supported by default GitHub Pages)
- Provides performance improvements and new features
- More complex deployment setup
-
Asset Pipeline Modernization:
- Current: jQuery 3.2.1 in assets/js/vendor
- Theme includes newer jQuery 3.6.0
- Consider removing custom jQuery copy
-
Theme Updates:
- Current: Minimal Mistakes 4.27.3
- Monitor for updates: https://github.com/mmistakes/minimal-mistakes
- Test updates in development before deploying
-
Social Profiles:
- Add Twitter/X, LinkedIn, or other platforms as needed
- Edit
authorsection in_config.yml
- Quarterly: Run
bundle updateand test build - Annually: Review theme updates and deprecated features
- As Needed: Update social profiles, add new features
- Jekyll Documentation
- Minimal Mistakes Documentation
- GitHub Pages Documentation
- giscus Documentation
- Kramdown Syntax
For issues or questions:
- Jekyll: https://talk.jekyllrb.com
- Minimal Mistakes: https://github.com/mmistakes/minimal-mistakes/discussions
- GitHub Pages: https://github.com/orgs/community/discussions/categories/pages
- Updated deprecated config syntax (plugins_dir, whitelist)
- Removed Google Universal Analytics
- Migrated to giscus comments system
- Cleaned up social profiles
- Updated all dependencies via bundle update
- Added documentation (this file)
- Updated README.md
- Site originally created with Jekyll 3.x
- Theme: Minimal Mistakes
- Last major update before modernization: Unknown