GitHub Pages Setup Guide
This guide will help you enable and configure GitHub Pages for the XDL documentation.
Quick Setup
1. Enable GitHub Pages
- Go to your repository on GitHub:
https://github.com/ravituringworks/xdl - Click on Settings tab
- In the left sidebar, click on Pages
- Under Build and deployment:
- Source: Select “GitHub Actions”
- Click Save
2. Verify Deployment
After pushing changes to the master branch:
- Go to the Actions tab in your repository
- You should see a workflow run called “Deploy GitHub Pages”
- Wait for the workflow to complete (usually takes 1-2 minutes)
- Once complete, your documentation will be available at:
https://ravituringworks.github.io/xdl/
What’s Been Configured
Documentation Structure
The documentation is set up in the /docs folder with:
- index.md: Main landing page with organized links to all documentation
- _config.yml: Jekyll configuration for GitHub Pages
- 90+ documentation files: All your existing documentation is linked and organized
Jekyll Theme
The documentation uses the Cayman theme, which provides:
- Clean, professional design
- Responsive layout for mobile devices
- Syntax highlighting for code blocks
- Easy navigation
GitHub Actions Workflow
A workflow has been created at .github/workflows/pages.yml that:
- Automatically builds and deploys documentation on every push to master
- Uses Jekyll to process the markdown files
- Deploys to GitHub Pages
Customization
Changing the Theme
To change the theme, edit docs/_config.yml:
theme: jekyll-theme-minimal # or other supported themes
Supported themes:
jekyll-theme-cayman(current)jekyll-theme-minimaljekyll-theme-slatejekyll-theme-architectjekyll-theme-tactilejekyll-theme-dinky
Adding Navigation
Edit the navigation section in docs/_config.yml:
navigation:
- title: Home
url: /
- title: Custom Page
url: /custom-page.html
Customizing the Landing Page
Edit docs/index.md to modify the main landing page content.
Documentation Organization
The documentation is organized into these main sections:
- Getting Started: Quick start guides and installation
- Core Features: Language, parser, arrays, and control flow
- Graphics & Visualization: 2D, 3D, and advanced visualization
- GPU Acceleration: GPU compute and performance
- Compatibility: IDL/GDL and MATLAB compatibility
- Advanced Topics: ML, Python integration, examples
- Development: Build guides and validation
Troubleshooting
Pages Not Showing Up
- Check the Actions tab for any failed workflow runs
- Ensure GitHub Pages is enabled in Settings > Pages
- Verify the source is set to “GitHub Actions”
- Wait a few minutes after deployment completes
404 Errors on Documentation Links
- Ensure all linked files exist in the
docs/folder - Check that file names match the links (case-sensitive)
- Links use
.htmlextension even though files are.md
Build Failures
- Check the Actions tab for error messages
- Verify Jekyll configuration in
_config.ymlis valid - Ensure all markdown files have valid formatting
Local Testing
To test the documentation locally before deploying:
# Install Jekyll
gem install bundler jekyll
# Navigate to docs folder
cd docs
# Create Gemfile
cat > Gemfile << EOF
source 'https://rubygems.org'
gem 'github-pages', group: :jekyll_plugins
EOF
# Install dependencies
bundle install
# Serve locally
bundle exec jekyll serve
# Open in browser
# http://localhost:4000
Additional Resources
Next Steps
- Enable GitHub Pages in repository settings
- Push changes to trigger the first deployment
- Visit your documentation site once deployed
- Customize the theme and content as needed
- Add more documentation pages as your project grows