A dummy Python library demonstrating Sphinx documentation with Markdown support via MyST Parser.
docs/index.md and published via GitHub Actions.
Once deployed, visit: https://chriaa.github.io/gh-test/
-
Check your Actions → https://github.com/chriaa/gh-test/actions
- Look for the build workflow and verify the latest run is ✅
- It should build the Sphinx site and publish HTML from
docs/_build/html
-
Check GitHub Pages settings → https://github.com/chriaa/gh-test/settings/pages
- Set the source to GitHub Actions
- This workflow publishes the site root directly from the generated docs
-
View your site → https://chriaa.github.io/gh-test/
- The site should display the Sphinx documentation with a left sidebar navigation
- You should see: User Guide, API Reference, and the generated docs from
docs/index.md
- Clean Python library structure
- Comprehensive Sphinx documentation
- Markdown support via MyST Parser
- Auto-generated API documentation
- GitHub Pages deployment via GitHub Actions
- Best practices guides and architecture documentation
pip install -e .# Install development dependencies
pip install -r requirements-dev.txt
# Build documentation
cd docs
make clean
make html
# View in browser
open _build/html/index.html- mylib/ - Python library with core.py and utils.py
- docs/ - Sphinx documentation source (RST format)
- resources/ - Custom markdown documentation
- .github/workflows/ - GitHub Actions deployment workflow
Once deployed, the documentation site includes:
- Overview - Project introduction and features
- Getting Started - Quick introduction to MyLib
- Tutorial - Build a real application with MyLib
- API Reference - Auto-generated from Python docstrings
- Architecture - System design and structure
- Best Practices - Development guidelines
- Contributing - How to contribute
- Setup - Local development setup
- Deployment - GitHub Pages deployment guide
- Add function to
mylib/core.pyormylib/utils.py - Include a comprehensive docstring
- Export from
mylib/__init__.py - Documentation updates automatically!
- Create
resources/myguide.md - Update
resources/index.mdto link to it - Push and the site rebuilds automatically
Push to main branch:
git add .
git commit -m "Your message"
git push origin mainThe GitHub Actions workflow will:
- Build the Sphinx documentation
- Deploy to GitHub Pages
- Site updates automatically! 🎉
Check deployment status: https://github.com/yourusername/gh-pages-ex/actions
-
Check GitHub Pages Settings
- Go to repo Settings → Pages
- Recommended: set Source to
gh-pagesbranch - Alternative: set Source to "GitHub Actions" if you want actions-based deployment
-
Check Actions Tab
- Ensure the latest workflow run is ✅ green
- If red ❌, click it to see the error
-
Clear Browser Cache
- Hard refresh: Cmd+R (macOS) or Ctrl+F5 (Windows)
-
Wait a Few Minutes
- GitHub Pages can take 1-2 minutes to update
-
Check Deployment URL
- Should be:
https://yourusername.github.io/gh-pages-ex/ - Not:
https://yourusername.github.io/
- Should be:
Once deployed, the full documentation is at: https://chriaa.github.io/gh-test/
If GitHub Pages is serving the repository root, the repository now includes a root index.html redirect to the built docs.
On the live site, click the left sidebar entry:
- Demo Application
This will take you into the Sphinx-powered documentation for the dummy app and its extracted docstrings.