Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sphinx Documentation and Deploymment #18

Open
wants to merge 6 commits into
base: devel
Choose a base branch
from

Conversation

Xeratec
Copy link

@Xeratec Xeratec commented Dec 17, 2024

Changelog

This pull request introduces a GitHub Actions workflow for automatically building and publishing Sphinx-based documentation. The workflow triggers on every push or pull request and ensures consistent generation and deployment of project documentation.

The documentation is built using Sphinx, with integration of Doxygen to extract inline documentation from C source code. The Doxygen output is then parsed and incorporated into the Sphinx build using the Breathe plugin, allowing seamless inclusion of API documentation within the overall project documentation.

The workflow supports multi-branch GitHub Pages, enabling documentation for different branches to be deployed side-by-side. This allows maintaining documentation for various development stages (e.g., main, feature branches, and PR-specific previews). Each branch’s documentation is hosted under its respective path. For example:

An example documentation for this branch can be previewed here.

Added

  • New GitHub Actions workflow file: .github/workflows/docs.yml.
  • Automation for:
    • Installing dependencies.
    • Building the documentation using Sphinx.
    • Publishing the generated documentation as GitHub Pages.
  • First draft of documentation
  • Enable linting of Python files

Changed

  • Removed redundant information in README.md to avoid duplication and divergence.
  • Autoformatting of python files

@Xeratec Xeratec added the documentation Improvements or additions to documentation label Dec 17, 2024
@Xeratec Xeratec requested a review from viv-eth December 17, 2024 15:39
@Xeratec Xeratec self-assigned this Dec 17, 2024
Copy link
Collaborator

@Scheremo Scheremo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

.gitignore Outdated Show resolved Hide resolved
Comment on lines +29 to +31
# 'sphinx.ext.napoleon', # Support for NumPy and Google style docstrings
# 'sphinx.ext.autodoc',
# 'sphinx.ext.autosummary',
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I personally like autodoc and napoleon - maybe for a later iteration :)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also like it a lot but as there is not really Python code for now, I disabled it for the moment. Happy to change if there is Phython code that requires documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants