12 KiB
Troubleshooting Guide
This guide covers common issues and their solutions. For more information, see FAQ.md or check GitHub Discussions.
- Troubleshooting Guide
Deployment Issues
Site fails to deploy on GitHub Pages
Problem: GitHub Actions shows an error when deploying.
Solution:
- Check your repository Actions tab for error messages
- Ensure you followed Step 2 of QUICKSTART.md (Workflow permissions)
- Verify your
_config.ymlhas correcturlandbaseurl:- Personal site:
url: https://username.github.ioandbaseurl:(empty) - Project site:
url: https://username.github.ioandbaseurl: /repo-name/
- Personal site:
- Check that you're pushing to the
main(ormaster) branch, NOTgh-pages - Commit and push a small change to trigger redeployment
For YAML syntax errors:
- Run
bundle exec jekyll buildlocally to see the exact error - Check for unquoted special characters (
:,&,#) in YAML strings
Custom domain becomes blank after deployment
Problem: You set a custom domain (e.g., example.com), but it resets to blank after deployment.
Solution:
- Create a file named
CNAME(no extension) in your repository root - Add your domain to it:
example.com(one domain per line) - Commit and push
- The domain will persist after future deployments
(See DNS configuration instructions in INSTALL.md for initial custom domain setup.)
GitHub Actions: "Unknown tag 'toc'" error
Problem: Local build works, but GitHub Actions fails with Unknown tag 'toc'.
Solution:
- Check your Settings → Pages → Source is set to
Deploy from a branch - Ensure the branch is set to
gh-pages(NOTmain) - Wait 5 minutes and check Actions again
- The issue usually resolves after you verify the gh-pages branch is set
Local Build Issues
Docker build fails
Problem: docker compose up fails or shows errors.
Solution:
- Update Docker:
docker compose pull - Rebuild:
docker compose up --build - If still failing, check your system resources (disk space, RAM)
- For M1/M2 Mac users, verify you're using a compatible Docker version
- Check Docker Desktop is running
For permission issues:
- Linux users may need to add your user to the docker group:
sudo usermod -aG docker $USER - Then log out and log back in
Ruby dependency issues
Problem: Gemfile.lock conflicts or bundle errors.
Solution:
- Delete
Gemfile.lock:rm Gemfile.lock - Update Bundler:
bundle update - Install gems:
bundle install - Try serving again:
bundle exec jekyll serve
Port already in use
Problem: "Address already in use" when running jekyll serve.
Solution - Docker:
docker compose down # Stop the running container
docker compose up # Start fresh
Solution - Local Ruby:
# Find and kill the Jekyll process
lsof -i :4000 | grep LISTEN | awk '{print $2}' | xargs kill
# Or specify a different port
bundle exec jekyll serve --port 5000
Styling & Layout Problems
CSS and JS not loading properly
Problem: Site looks broken: no colors, fonts wrong, links don't work.
Common cause: Incorrect url and baseurl in _config.yml.
Solution:
-
Personal/organization site:
url: https://username.github.io baseurl: # MUST be empty (not deleted) -
Project site:
url: https://username.github.io baseurl: /repository-name/ # Must match your repo name -
Clear browser cache:
- Chrome:
Ctrl+Shift+R(Windows/Linux) orCmd+Shift+R(Mac) - Firefox:
Ctrl+F5(Windows/Linux) orCmd+R(Mac) - Or open a private/incognito window
- Chrome:
-
Redeploy: Make a small change and push to trigger GitHub Actions again
Site looks broken after deployment
Checklist:
- Is
baseurlcorrect (and not accidentally deleted)? - Did you clear your browser cache?
- Wait 5 minutes for GitHub Pages to update
- Check GitHub Actions completed successfully
Theme colors not applying
Problem: You changed _config.yml color settings but nothing changed.
Solution:
- Check your color name is valid in
_sass/_variables.scss - Clear browser cache (see above)
- Rebuild:
docker compose up --build(Docker) orbundle exec jekyll build(Ruby) - Wait for GitHub Actions to complete
- Visit the site in a private/incognito window
Content Not Appearing
Blog posts not showing up
Problem: Created a post in _posts/ but it's not on the blog page.
Checklist:
- Filename format is correct:
YYYY-MM-DD-title.md(e.g.,2024-01-15-my-post.md) - File is in the
_posts/directory (not in a subdirectory) - Post has required frontmatter:
--- layout: post title: My Post Title date: 2024-01-15 --- - Post date is NOT in the future (Jekyll doesn't publish future-dated posts by default)
- Blog posts are enabled in
_config.yml:blog_page: true
To fix:
- Check the filename format (uppercase, dashes, no spaces)
- Verify the date is today or in the past
- Rebuild:
bundle exec jekyll buildand check for error messages
Publications not displaying
Problem: You added a BibTeX entry to papers.bib but it's not showing on the publications page.
Checklist:
- File is at
_bibliography/papers.bib - BibTeX syntax is correct (check for missing commas, unmatched braces)
- Entry has a unique citation key:
@article{einstein1905, ...} - Publication page is enabled: Check
publications_page: truein_config.yml
To debug BibTeX errors:
# Local Ruby setup
bundle exec jekyll build 2>&1 | grep -i bibtex
# Docker
docker compose run --rm web jekyll build 2>&1 | grep -i bibtex
Images not loading
Problem: Image paths broken or showing as missing.
Common causes:
- Wrong path in Markdown (use relative paths)
- Image file doesn't exist at the specified location
- Case sensitivity (Linux/Mac are case-sensitive)
Solutions:
-
Correct path format:
 -
Check the file exists:
- Personal images:
assets/img/ - Paper PDFs:
assets/pdf/ - Use lowercase filenames, no spaces
- Personal images:
-
For BibTeX PDF links:
@article{mykey, pdf={my-paper.pdf}, % File should be at assets/pdf/my-paper.pdf }
Configuration Issues
YAML syntax errors
Problem: GitHub Actions fails with YAML error, or build is silent.
Common mistakes:
# ❌ Wrong: Unquoted colons or ampersands
title: My Site: Research & Teaching
# ✅ Correct: Quote special characters
title: "My Site: Research & Teaching"
# ❌ Wrong: Inconsistent indentation
nav:
- name: Home
url: /
- name: About # Extra space!
url: /about/
# ✅ Correct: Consistent 2-space indentation
nav:
- name: Home
url: /
- name: About
url: /about/
To find errors:
- Use a YAML validator: yamllint.com
- Run locally:
bundle exec jekyll buildshows the exact error line - Check that you didn't delete required lines (like
baseurl:)
Feed (RSS/Atom) not working
Problem: RSS feed at /feed.xml is empty or broken.
Solution:
- Verify required
_config.ymlfields:title: Your Site Title description: Brief description url: https://your-domain.com # MUST be absolute URL - Ensure
baseurlis correct - Check at least one blog post exists (with correct date)
- Rebuild and wait for GitHub Actions to complete
Search not working
Problem: Search box is empty or always returns nothing.
Solution:
- Ensure search is enabled in
_config.yml:search_enabled: true - Check that
_config.ymlhas a validurl(required for search) - Rebuild the site
- Search index is generated during build; give it a minute after push
Feature-Specific Issues
Comments (Giscus) not appearing
Problem: You enabled Giscus in _config.yml but comments don't show.
Solution:
- Verify you have a GitHub repository for discussions (usually your main repo)
- Check
_config.ymlhas correct settings:disqus_shortname: false # Make sure this is false giscus: repo: username/repo-name repo_id: YOUR_REPO_ID category_id: YOUR_CATEGORY_ID - Visit Giscus.app to get your IDs and verify setup
- Check the GitHub repo has Discussions enabled (Settings → Features)
Related posts broken
Problem: Related posts feature crashes or shows errors.
Solution:
- Related posts requires more gems. If you disabled it in
_config.yml, that's fine:related_blog_posts: enabled: false - If you want to enable it, ensure
Gemfilehas all dependencies installed:bundle install bundle exec jekyll build
Code formatting issues
Problem: Code blocks don't have syntax highlighting or look wrong.
Solution:
-
Use proper markdown syntax:
```python # Your code here print("hello") ``` -
For inline code:
Use `code-here` for inline code. -
Check that your language is supported by Pygments (Python, Ruby, JavaScript, etc. are all supported)
Getting Help
If you're stuck:
-
Check existing documentation:
- QUICKSTART.md – Get started in 5 minutes
- INSTALL.md – Installation and deployment
- CUSTOMIZE.md – Full customization guide
- FAQ.md – Frequently asked questions
-
Search for your issue:
- GitHub Discussions – Q&A from community
- GitHub Issues – Bug reports and feature requests
-
Get help from AI:
- Use the GitHub Copilot Customization Agent (requires Copilot subscription) to get step-by-step help
- See CUSTOMIZE.md § GitHub Copilot Customization Agent
-
Create a new discussion:
- Ask a question on GitHub
- Include error messages and what you're trying to do
Most issues are resolved by:
- Checking
urlandbaseurlin_config.yml - Clearing browser cache
- Waiting for GitHub Actions to complete (~5 minutes)