2
0
Fork
You've already forked docs
0
API documentation website https://docs.interpeer.io/
  • HTML 95.9%
  • JavaScript 3.2%
  • CSS 0.9%
2023年12月29日 18:00:47 +01:00
output New deployment 2023年12月29日 18:00:02 +01:00
projects Bump version 2023年12月29日 18:00:47 +01:00
scripts Update build so that it can deal with gobject and sphinx based docs 2023年12月29日 17:55:21 +01:00
themes Reactivate theme 2023年06月28日 12:49:13 +02:00
.gitignore Basic build skeleton 2023年06月23日 09:16:39 +02:00
.gitmodules Update projects 2023年12月29日 17:54:32 +01:00
LICENSE Initial commit 2023年06月22日 10:30:58 +00:00
Makefile Update build so that it can deal with gobject and sphinx based docs 2023年12月29日 17:55:21 +01:00
Pipfile Update build 2023年06月27日 13:33:00 +02:00
Pipfile.lock Update build 2023年06月27日 13:33:00 +02:00
README.md Update build 2023年06月27日 13:33:00 +02:00

API documentation website

This repo exists to build the API documentation website.

Building

  1. Install Doxygen
  2. Run pipenv install to install Sphinx and its extensions.
  3. Run make build

Deploying

Deployment is to the pages branch of this repository, as we're hosting on Codeberg pages. Run make deploy to get this done.

Details

Each of interpeer's project repos contains its own documentation. As we'd like to provide more than just automatically generated API docs, we're using Sphinx to maintain this. However, that system does not deal well with C/C++ source files.

Breathe is an extension to Sphinx that runs Doxygen to generate XML output, and provides Sphinx directives for adding the Doxygen data to the Sphinx documentation.

In each project, we're looking for a Makefile in docs/api to detect whether it has Sphinx documentation. If found, the documentation is built, and copied to a project subdirectory in output.

The contents of the output folder are then pushed to the pages branch for publication.

As an additional wrinkle, we're using the interpeer theme to generate CSS. This is not necessary for building documentation, but it helps style the documentation website a little more consistently with the main website.