Jekyll Upgrade and Deployment Guide

This repository has been upgraded to support both GitHub Pages compatible Jekyll and the latest Jekyll version for maximum flexibility.

🔄 Upgrade Summary

What was upgraded:

Current Versions:

📦 Deployment Options

Use the main Gemfile and configuration for automatic GitHub Pages deployment:

# Install dependencies
bundle install

# Build and test locally
bundle exec jekyll build
bundle exec jekyll serve

# Deploy: Simply push to main branch - GitHub Pages will build automatically
git push origin main

Files used:

Pros:

Cons:

Option 2: Latest Jekyll with Manual Deployment

Use the latest Jekyll version for advanced features and better performance:

# Use latest Jekyll
cp Gemfile.latest Gemfile

# Install latest dependencies
bundle install

# Build with latest Jekyll and config
bundle exec jekyll build --config _config.latest.yml

# Deploy built _site directory to hosting provider
# (Netlify, Vercel, your own server, etc.)

Files used:

Pros:

Cons:

🚀 Modern Features Added

Jekyll 4.x Features (when using latest version):

Configuration Improvements (both versions):

Deprecated Features Removed:

🛠️ Development Workflow

For GitHub Pages (Option 1):

# Start development
bundle exec jekyll serve --livereload

# Build for production
bundle exec jekyll build

# Test site
# Visit http://localhost:4000

For Latest Jekyll (Option 2):

# Start development with latest features
BUNDLE_GEMFILE=Gemfile.latest bundle exec jekyll serve --config _config.latest.yml --livereload

# Build for production
BUNDLE_GEMFILE=Gemfile.latest bundle exec jekyll build --config _config.latest.yml

# Optimize images (if using latest version)
bundle exec image_optim --no-pngout --no-svgo assets/img/**/*.{png,jpg,jpeg}

📋 Migration Checklist

🔍 Security & Performance Improvements

Security:

Performance:

🎯 Recommendations

  1. For most users: Use GitHub Pages option (Option 1) for simplicity
  2. For advanced users: Use latest Jekyll (Option 2) for cutting-edge features
  3. For best performance: Consider Option 2 with CDN deployment
  4. For maximum compatibility: Stick with Option 1

📚 Next Steps

  1. Choose your deployment option
  2. Test the build locally
  3. Update any custom plugins if using Option 2
  4. Configure your deployment pipeline
  5. Monitor build performance and adjust settings as needed

Both configurations are production-ready and optimized for security, performance, and maintainability.