From patchwork Wed Sep 17 20:17:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 24378 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 455FCC328C for ; Wed, 17 Sep 2025 20:18:15 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 068AC6936F; Wed, 17 Sep 2025 22:18:14 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="JIme8NFN"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id CD05A69367 for ; Wed, 17 Sep 2025 22:18:11 +0200 (CEST) Received: from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi [81.175.209.231]) by perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 52CFB6A8 for ; Wed, 17 Sep 2025 22:16:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1758140212; bh=ov45+OIya6Bl1gxxPUM7GNADr6LRfsOrNCRTQQTC81k=; h=From:To:Subject:Date:From; b=JIme8NFNh8Gx33jlQnM89otDyDhhXV8HSTkDDj+SBoOlEqZXG9GVbOQYYjM4ExH2O rUnhXBzXs/BYfBnG3mFoT0vcqSCwM3X7RiNrz39/zFPKEkfS8wASfL0nZNymx0jNXr EzPpEL0u7qI7voeQCIfn440+Nn5l9AQoSS+YnuNM= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Subject: [PATCH v3 00/10] Documentation theming update Date: Wed, 17 Sep 2025 23:17:31 +0300 Message-ID: <20250917201742.16406-1-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.49.1 MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" 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