Add automated documentation build and publish to GitHub Pages#51
Open
dimitrivlachos wants to merge 3 commits into
Open
Add automated documentation build and publish to GitHub Pages#51dimitrivlachos wants to merge 3 commits into
dimitrivlachos wants to merge 3 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds a documentation build to the repository and wires it into
CI, so that every push to
mainpublishes the rendered site to GitHubPages and every pull request produces a downloadable HTML preview. It
addresses #12: dx2 has no rendered documentation, and while the headers
carry some Doxygen markup, nothing as of yet turned it into a site
anyone could read.
The stack is Doxygen -> Breathe -> Exhale -> Sphinx with the Furo theme.
Exhale drives Doxygen itself (
exhaleExecutesDoxygen = True) with theDoxygen configuration inlined in
conf.py, so there is no separateDoxyfile to keep in sync. The result is an auto-generated API reference
plus the README pulled in as the landing content, which is enough to get
the site live.
The deploy job needs the repository's Pages source set to GitHub Actions
rather than a branch, so I have switched that on in the repository
settings already.
From here we could:
docs/and add them to the toctree.reference on its own.
Changes:
docs/conf.py: Sphinx configuration with the Breathe/Exhalebridge to Doxygen and the inlined Doxygen settings, on the Furo
theme.
docs/index.rst: the root document and toctree.docs/readme.md: pulls the top-level README in via{include}so the landing page has content.
docs/requirements.txt: the docs build dependencies (Sphinx,Furo, Breathe, Exhale, MyST).
.github/workflows/docs.yml: a Docs workflow that builds onpush and pull request, uploads the rendered HTML as a preview
artifact on pull requests, and deploys to GitHub Pages only on
push to
main.README.md: a Documentation section..gitignore: ignore the localdocs/_buildoutput.(
checkout@v7,setup-python@v6,upload-artifact@v7,upload-pages-artifact@v5,deploy-pages@v5).Closes #12