[v3,00/10] Documentation theming update
mbox series

Message ID 20250917201742.16406-1-laurent.pinchart@ideasonboard.com
Headers show
Series
  • Documentation theming update
Related show

Message

Laurent Pinchart Sept. 17, 2025, 8:17 p.m. UTC
Hello,

This series is a respin of Stefan's v1 with additional improvements (at
least in my opinion). In particular, it addresses the "biggest issue"
mentioned in the cover letter of the previous version, that is the
organization of the documentation in the installation directory.

Patch 01/10 is a repost of "[PATCH] Documentation: Use standard ordering
for Doxyfile variables", in order to rebase conflicting changes on top.
Patches 02/10 to 04/10 come from Stefan's series, with various minor
fixes. I've dropped patch 03/10 from v2 that added SPDX tags in
doxygen-awesome-css as the patch has been merged upstream, and 02/10 now
integrates that. Patch 05/10 is new and fixes a small documentation
build system issue.

The next two patches is where this series differs significantly from v1
and v2. Patch 06/10 reorganizes the toctree of the Sphinx documentation.
In v1 it was combined with changes to the build system to try and fix
broken links. In this version, the broken links are addressed separately
in 07/10, in a very different way compared to previous version. See
patch 07/10 for details.

Patches 08/10 and 09/10 come v1, with fixes to address review comments.
Finally, 10/10 is a new patch that renames the internal-api-html and
api-html directories.

All the patches pass CI, validating the latest CI changes to add the
sphinx book theme to containers.

This was quite a ride. I don't recall the last time I went through so
many rabbit holes, finding a new place to dig with every dead end.
You'll find a list of the solutions I tried in 07/10. In the end I'm not
fully happy with the result, as links are still broken in the build
directory, but the series is a net improvement compared to the current
situation. Going further will likely require experimenting with the
doxysphinx extension, which I'll leave for another time (and for someone
else).


Laurent Pinchart (4):
  Documentation: Use standard ordering for Doxyfile variables
  Documentation: Add api-html/ and internal-api-html/ to docs sources
  Documentation: Improve Sphinx and Doxygen integration
  Documentation: Rename api to public-api and drop -html suffix

Stefan Klug (6):
  Documentation: Add doxygen-awesome-css
  Documentation: Enable doxygen-awesome-css
  Documentation: Use the sphinx book theme
  Documentation: Reorganize toctree
  Documentation: Drop unnecessary documentation-contents.rst
  Documentation: mainpage: Make it easier to distinguish public and
    internal API

 .reuse/dep5                                   |    5 +-
 Documentation/Doxyfile-common.in              |    9 +-
 Documentation/Doxyfile-internal.in            |    9 +-
 Documentation/Doxyfile-public.in              |    9 +-
 Documentation/camera-sensor-model.rst         |    2 -
 Documentation/code-of-conduct.rst             |    2 -
 Documentation/coding-style.rst                |    2 -
 Documentation/conf.py.in                      |   20 +-
 Documentation/documentation-contents.rst      |   35 -
 .../doxygen-awesome-sidebar-only.css          |   97 +
 .../doxygen-awesome-css/doxygen-awesome.css   | 2664 +++++++++++++++++
 Documentation/environment_variables.rst       |    2 -
 Documentation/feature_requirements.rst        |    2 -
 .../guides/application-developer.rst          |    2 -
 Documentation/guides/ipa.rst                  |    2 -
 Documentation/guides/pipeline-handler.rst     |    2 -
 Documentation/guides/tracing.rst              |    2 -
 Documentation/index.rst                       |   45 +-
 Documentation/install-doxygen.sh              |   18 +
 .../index.rst                                 |    0
 Documentation/introduction.rst                |    8 -
 Documentation/lens_driver_requirements.rst    |    2 -
 Documentation/libcamera_architecture.rst      |    2 -
 Documentation/mainpage.dox                    |   10 +-
 Documentation/meson.build                     |   12 +-
 .../{api-html => public-api}/index.rst        |    0
 Documentation/python-bindings.rst             |    2 -
 Documentation/sensor_driver_requirements.rst  |    2 -
 Documentation/software-isp-benchmarking.rst   |    2 -
 Documentation/theme/footer.html               |   14 -
 Documentation/theme/layout.html               |  109 -
 Documentation/theme/search.html               |   63 -
 Documentation/theme/static/css/theme.css      |  295 --
 .../theme/static/libcamera-logo-text.svg      |  223 ++
 Documentation/theme/static/search.png         |  Bin 482 -> 0 bytes
 Documentation/theme/theme.conf                |    7 -
 README.rst                                    |    4 +-
 37 files changed, 3076 insertions(+), 608 deletions(-)
 delete mode 100644 Documentation/documentation-contents.rst
 create mode 100644 Documentation/doxygen-awesome-css/doxygen-awesome-sidebar-only.css
 create mode 100644 Documentation/doxygen-awesome-css/doxygen-awesome.css
 create mode 100755 Documentation/install-doxygen.sh
 rename Documentation/{internal-api-html => internal-api}/index.rst (100%)
 rename Documentation/{api-html => public-api}/index.rst (100%)
 delete mode 100644 Documentation/theme/footer.html
 delete mode 100644 Documentation/theme/layout.html
 delete mode 100644 Documentation/theme/search.html
 delete mode 100644 Documentation/theme/static/css/theme.css
 create mode 100644 Documentation/theme/static/libcamera-logo-text.svg
 delete mode 100644 Documentation/theme/static/search.png
 delete mode 100644 Documentation/theme/theme.conf


base-commit: 0e096da4b486afce23559ec861305edd895128cf
--
Regards,

Laurent Pinchart