Migration Notes - Hugo to Jekyll
Migration Notes - Hugo to Jekyll
Migration Summary
Successfully migrated from Hugo to Jekyll using the academicpages template on November 22, 2025.
What Was Done
- Backup Created
- Original Hugo site backed up to branch:
backup-hugo-site - Local backup also created in:
../hugo-backup/
- Original Hugo site backed up to branch:
- Template Installation
- Cloned academicpages Jekyll template
- Replaced all Hugo files with Jekyll template
- Configuration
- Updated
_config.ymlwith personal information:- Name: Muhammad Rifai
- Bio: “Computer Science ~ Learning to develop is a life changing experience”
- Repository: rifaimartin/rifaimartin.github.io
- GitHub: rifaimartin
- LinkedIn: rifaimartin
- Updated
- Clean Setup
- Removed example blog posts
- Removed example publications, talks, teaching materials
- Ready for custom content
Next Steps
1. Setup Local Development Environment
Install Ruby and Jekyll to test locally:
# Install Ruby (if not installed)
# Windows: Download from https://rubyinstaller.org/
# Mac: brew install ruby
# Linux: sudo apt-get install ruby-full
# Install Bundler
gem install bundler
# Install dependencies
bundle install
# Run local server
bundle exec jekyll serve
# Open browser to http://localhost:4000
2. Customize Content
Update About Page
Edit _pages/about.md with your personal information.
Add Profile Picture
Replace images/profile.png with your own photo.
Create Blog Posts
Create new posts in _posts/ with format: YYYY-MM-DD-title.md
Example:
---
title: 'My First Jekyll Post'
date: 2024-11-22
permalink: /posts/2024/11/my-first-post/
tags:
- jekyll
- blog
---
Your content here...
Customize Navigation
Edit _data/navigation.yml to modify menu items.
3. Content Migration (Optional)
If you want to migrate old Hugo blog posts:
- Find original Hugo markdown files (should be in backup)
- Convert Hugo front matter to Jekyll format
- Copy to
_posts/with proper naming
4. GitHub Pages Deployment
The site should automatically deploy via GitHub Pages:
- Go to repository Settings → Pages
- Ensure source is set to “Deploy from a branch”
- Branch should be:
master// (root) - Wait ~5 minutes for deployment
- Visit: https://rifaimartin.github.io
5. Remove Unused Collections (Optional)
Since this is mainly a blog, you might want to remove:
_publications/- Delete example publications_talks/- Delete example talks_teaching/- Delete example teaching materials_portfolio/- Delete example portfolio items
Or keep them if you plan to use these features!
6. Customize Further
- Theme: Change
site_themein_config.yml(options: “default”, “air”) - Social Links: Update in
_config.ymlunderauthor:section - Analytics: Add Google Analytics in
_config.ymlif needed - Comments: Enable Disqus or other comment system in
_config.yml
Useful Commands
# Development server with live reload
bundle exec jekyll serve --livereload
# Build site only
bundle exec jekyll build
# Clean built files
bundle exec jekyll clean
Resources
Rollback Instructions
If you need to rollback to Hugo:
# Switch to backup branch
git checkout backup-hugo-site
# Or create new branch from backup
git checkout -b restore-hugo backup-hugo-site
git push origin restore-hugo
Notes
- Old Hugo posts were in
posts/directory (now deleted) - Hugo used different front matter format than Jekyll
- Original images were in
posts/images/(may need to be recovered from backup)
