A simple repository showcasing automated documentation generation with Python and C++. This project demonstrates how to set up pdoc and Doxygen to work together with GitHub Actions and Pages.
This repository highlights:
- Dual-language documentation (Python + C++)
- Automated builds with GitHub Actions
- Professional presentation with a unified landing page
- Rich visual diagrams for C++ code relationships
The documentation includes:
- Python API - Generated with pdoc from docstrings
- C++ API - Generated with Doxygen including UML diagrams
- pdoc - Python documentation from docstrings
- Doxygen - C++ documentation with diagrams
- GitHub Actions - Automated builds on every push
- GitHub Pages - Static hosting
docs/
├── index.html # Static landing page (version controlled)
├── python/ # Python docs (pdoc generated)
│ └── calculator.html
└── cpp/ # C++ docs (Doxygen generated)
└── index.html
-
Static Landing Page: The main static file
docs/index.html
provides navigation between language-specific docs -
Python Documentation: Built with pdoc to
docs/python/
uv run pdoc calculator.py -o docs/python
-
C++ Documentation: Built with Doxygen to
docs/cpp/
using the dedicated GitHub Action- uses: mattnotmitt/doxygen-action@v1 with: doxyfile-path: './Doxyfile'
-
GitHub Action: Coordinates both tools and deploys to Pages
- Preserves the static landing page
- Builds both documentation sets
- Uploads everything as a single Pages artifact