Skip to content

Add documentation - #4

Merged
wahln merged 6 commits into
masterfrom
ci/docs
Aug 5, 2026
Merged

Add documentation#4
wahln merged 6 commits into
masterfrom
ci/docs

Conversation

@wahln

@wahln wahln commented Aug 5, 2026

Copy link
Copy Markdown

This pull request introduces a comprehensive overhaul and modernization of the documentation system for the project. It establishes a robust, reproducible, and CI-validated Sphinx/Doxygen/Breathe documentation build, both locally and on Read the Docs, and provides clear guides and structure for users and contributors. The changes include new configuration files, improved build instructions, integration with CI, and a complete reorganization of the documentation content for the Python, C, and MATLAB/Octave APIs.

Documentation build system and CI integration:

  • Added a GitHub Actions workflow (.github/workflows/docs.yml) to build the documentation on every PR and push, matching the Read the Docs build environment and catching documentation issues before merging.
  • Introduced a .readthedocs.yaml configuration that fully defines the RTD build process, including explicit dependency installation and Sphinx build commands with strict error checking.
  • Added a minimal Doxyfile for Doxygen, generating XML output for Breathe/Sphinx integration, with careful configuration to avoid issues with undocumented members, macro expansion, and cross-file references.

Local documentation build improvements:

  • Added docs/README.md with clear, step-by-step instructions for building the documentation locally, emphasizing that no C++ compiler is needed and providing troubleshooting tips for Sphinx/Doxygen builds.
  • Updated CMakeLists.txt to add a convenience docs target for users who prefer building documentation via CMake, though it is not required for the main documentation workflow.

Sphinx configuration and documentation content reorganization:

  • Created a new docs/conf.py with robust configuration for Sphinx, Breathe, MyST, and autodoc, including automatic Doxygen invocation, mocked imports for the compiled extension, and improved cross-referencing and warning suppression.
  • Reorganized documentation content into clear sections for the Python API (docs/python-api/index.md), C API (docs/c-api/index.md and subpages), and MATLAB/Octave interface (docs/matlab-api/index.md), each with structured quickstarts, API references, and usage notes. [1] [2] [3] [4] [5] [6]
  • Updated the documentation index (docs/index.md) to provide a clear, navigable entry point with links to all major API sections and the source repository.
  • Improved installation and build instructions in docs/getting-started/installation.md by including the canonical build guide and clarifying the relationship between documentation and code builds.

@codecov

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@wahln
wahln merged commit d32fc5f into master Aug 5, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant