This pull request significantly expands and clarifies the documentation for the al-folio Jekyll theme, focusing on improved file structure explanations, enhanced quick reference guides, and the addition of a comprehensive analytics setup guide. The changes make it easier for users and contributors to understand the project organization, available features, and configuration options, especially regarding CV formats, teaching pages, and analytics integration. **Key documentation and structure improvements:** *Expanded file and collection structure:* - The file structure documentation in `.github/agents/customize.agent.md` and `.github/agents/docs.agent.md` now details all major directories, including new and existing collections such as `_books/`, `_teachings/`, `_scripts/`, `_plugins/`, and expanded `assets/` subdirectories. It also covers new configuration and utility files, making it easier for users to locate and understand the purpose of each file or folder. [[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L24-R66) [[2]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L17-R58) *Documentation and quick reference enhancements:* - The quick reference table in `.github/agents/customize.agent.md` has been updated to include new actions like adding teaching pages, setting up analytics, improving SEO, and ensuring accessibility, with more precise documentation links. - The documentation map now lists all major guides (e.g., `QUICKSTART.md`, `INSTALL.md`, `TROUBLESHOOTING.md`, `ACCESSIBILITY.md`, `ANALYTICS.md`, `SEO.md`), providing a clearer overview of available resources. [[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L58-R110) [[2]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L17-R58) **Feature and configuration documentation updates:** *CV/resume format guidance:* - The CV documentation now clarifies that users can maintain both RenderCV and JSONResume formats simultaneously, with clear instructions on switching between them and deleting unused files if desired. [[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L139-R185) [[2]](diffhunk://#diff-52f2a9488bfe4177d1f1d01120859dad0b3e2d087283ded68f72d47b4f183391L291-R291) *Teaching pages and new collections:* - Adds documentation for the new `_teachings/` collection, including required frontmatter and support for course materials, as well as updates to enable/disable teaching and books pages via `_config.yml`. [[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L180-R252) [[2]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L24-R66) *Analytics integration:* - Introduces a new `ANALYTICS.md` guide with detailed setup instructions for Google Analytics, privacy-friendly alternatives (Plausible, Pirsch, Openpanel, GoAccess), GDPR considerations, and a comparison table to help users choose the right analytics provider. - The configuration documentation now references analytics setup and related configuration options. [[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L180-R252) [[2]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L479-R550) These updates collectively make the documentation more comprehensive, actionable, and user-friendly for both new and advanced users. **References:** [[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L24-R66) [[2]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L58-R110) [[3]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L139-R185) [[4]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L180-R252) [[5]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L479-R550) [[6]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L17-R58) [[7]](diffhunk://#diff-0967e840631a541bb95e057e1c6d4884274cf56d5a217d7fee2eb7223b6b4c0dR1-R268) [[8]](diffhunk://#diff-52f2a9488bfe4177d1f1d01120859dad0b3e2d087283ded68f72d47b4f183391L291-R291) --------- Signed-off-by: George Araújo <george.gcac@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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)