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

Add a project GitHub page with extensive Sphinx-generated documentation #731

Open
kblaschke opened this issue Sep 20, 2023 · 1 comment
Open

Comments

@kblaschke
Copy link
Member

kblaschke commented Sep 20, 2023

Currently, libprojectM is documented in many different places: some Markdown files in the source code, the GitHub Wiki page and missing a generated Doxygen API documentation.

To keep the docs in one place and have them matching the current state of the code, we should add a docs dir in the library repo, with ReStructuredText (RST) files documenting all required parts:

  • Introduction
  • Getting the sources
  • Building the sources
  • Integrating the library in other projects
  • Full API reference
  • Contributing, community guidelines
  • FAQ and other things worth mentioning

Using Sphinx to generate and deploy the docs via GitHub Actions will keep the docs up to date all the time, and users can find it in a single place.

What needs to be done?

  • Create a new Sphinx project in a docs subdirectory of the projectm repository.
  • Convert existing Markdown files from the repository and the wiki to RST.
  • Create a GitHub page for the repository. Note: Must be done by a project maintainer!
  • Add a GitHub Actions workflow to build and deploy the docs on every new push/merge/commit to master.
  • Generate Doxygen API docs as XML and convert them to RST using doxyrest for example, include it in the Sphinx project.
  • Remove/consolidate the existing stuff and point to the new page.
@dpw13
Copy link
Collaborator

dpw13 commented Feb 5, 2024

Looking around at the best way to bridge doxygen to sphinx, I'm seeing a lot of references to breathe, which is available from pypi and is also included in at least Ubuntu package repositories, whereas doxyrest does not appear to be. Is doxyrest a requirement or just one option for converting Doxygen output to something sphinx can import?

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

No branches or pull requests

2 participants