GitHub Pages Deployment Guide
Your documentation is now ready for GitHub Pages with Jekyll!
Setup Steps
1. Enable GitHub Pages
- Go to your repository on GitHub
- Navigate to Settings → Pages
- Under “Build and deployment”:
- Source: Deploy from a branch
- Branch:
main(or your default branch) - Folder:
/docs
- Click Save
2. Wait for Deployment
- GitHub will automatically build and deploy your site
- First deployment takes 2-5 minutes
- Check the Actions tab to monitor progress
- Your site will be available at:
https://<username>.github.io/<repo-name>/
3. Custom Domain (Optional)
If you want a custom domain:
- Add a
CNAMEfile in thedocs/folder with your domain - Configure DNS settings with your domain provider:
- Add a CNAME record pointing to
<username>.github.io
- Add a CNAME record pointing to
- Enable “Enforce HTTPS” in repository settings
Configuration
Theme: Just the Docs
Your site uses the Just the Docs theme, which provides:
- ✅ Clean, professional design
- ✅ Built-in search functionality
- ✅ Mobile-responsive
- ✅ Excellent navigation with your
nav_orderfront matter
Customize Theme
Edit docs/_config.yml to customize:
# Site settings
title: Your Site Title
description: Your description
url: https://yourusername.github.io
baseurl: /your-repo-name
# Theme colors
color_scheme: light # or "dark"
# Navigation
aux_links:
"View on GitHub":
- "https://github.com/yourusername/your-repo"
Local Development
Install Dependencies
cd docs
bundle install
Run Local Server
bundle exec jekyll serve
Visit http://localhost:4000 to preview your site locally.
Watch for Changes
Jekyll automatically rebuilds when you edit files while the server is running.
File Structure
docs/
├── _config.yml # Jekyll configuration
├── Gemfile # Ruby dependencies
├── index.md # Home page
├── getting-started.md # Documentation pages
├── customization.md
├── instructions.md
├── prompts.md
├── troubleshooting.md
├── workflows.md
└── agents/
└── README.md # Agent documentation
Front Matter
Each markdown file should have front matter at the top:
---
layout: default
title: Page Title
nav_order: 1
description: "Optional page description for SEO"
---
Navigation Options
nav_order: Number for ordering in navigation (lower = higher in menu)has_children: true: For parent pages with sub-pagesparent: "Parent Title": For child pagesnav_exclude: true: Hide from navigation
Markdown Linting
Your project includes markdownlint for consistency:
# Check all markdown files
npm run lint:md # or markdownlint "**/*.md"
# Auto-fix issues
markdownlint "**/*.md" --fix
Configuration is in .markdownlint.json.
Troubleshooting
Site Not Building
- Check Actions tab for build errors
- Verify
_config.ymlsyntax (use a YAML validator) - Ensure all files have valid front matter
- Check that baseurl matches your repository name
Navigation Not Showing
- Verify front matter has
nav_orderandtitle - Check that files are in the
docs/folder - Ensure
layout: defaultis set
Search Not Working
- Search is automatically enabled with Just the Docs
- Rebuild the site: push a new commit
- Clear browser cache
Styles Look Wrong
- Verify
remote_theme: just-the-docs/just-the-docsin_config.yml - Check that
baseurlmatches your repository name - Hard refresh the page (Ctrl+Shift+R or Cmd+Shift+R)
Resources
Next Steps
- ✅ Commit and push your changes
- ✅ Enable GitHub Pages in repository settings
- ✅ Monitor deployment in Actions tab
- ✅ Visit your site at the GitHub Pages URL
- 🎨 Customize
_config.ymlto match your branding - 📝 Add more documentation as needed