From patchwork Thu Sep 11 23:01:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 24329 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 DE426C324E for ; Thu, 11 Sep 2025 23:01:44 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 9F6D069370; Fri, 12 Sep 2025 01:01:43 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="edYardcl"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 880EC62C3B for ; Fri, 12 Sep 2025 01:01:41 +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 6AE2D43F0 for ; Fri, 12 Sep 2025 01:00:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1757631626; bh=0clQ0B8QUYZHNVs7R57wKJGdaqC14gQbcQETe8EjGPc=; h=From:To:Subject:Date:From; b=edYardcl8frYmQYGiy9NrBJhFZb2vOzr/fpelC5Zl811LDtX4vsUDSUmgOFS2b8wy rxkAOLnaKjnM10LOP9sGwINhVhyh9KxtQPwdJ9W0v2IbSYK8DWYibe+NX7R9MArp31 YbaLj66xyz2XV5lM9W8BfwJzvdXHXCHgvsb5gvzQ= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Subject: [PATCH v2 00/10] Documentation theming update Date: Fri, 12 Sep 2025 02:01:01 +0300 Message-ID: <20250911230115.25335-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. Patch 02/10 comes from Stefan's series, and patch 03/10 addresses a review comment. Patches 04/10 and 05/10 also come from Stefan's series. Patch 06/10 is new, and is my attempt to solve the issue raised in v1 by using the same directory structure for documentation navigation in the build tree, the installation directory, and the libcamera.org website. The commit message explains the proposed solution in details. Patches 07/10 to 09/10 come v1 and incorporate some review comments already. 07/10 in particular would benefit from having its commit message rewritten, I will let Stefan handle it as I'm not entirely sure how to describe it best. It may also make sense to squash 07/10 and 08/10 together. Finally, 10/10 is a new patch that renames the api-html and internal-api-html directories. I've palced it last in the series to make it easy to drop it, should this not be desirable. Laurent Pinchart (4): Documentation: Use standard ordering for Doxyfile variables Documentation: doxygen-awesome-css: Switch license information to SPDX Documentation: Install API documentation within HTML directory 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: Include API docs in the sphinx documentation Documentation: Drop unnecessary documentation-contents.rst Documentation: mainpage: Make it easier to distinguish public and internal API .reuse/dep5 | 5 +- Documentation/Doxyfile-common.in | 11 +- 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 | 42 +- Documentation/documentation-contents.rst | 35 - .../doxygen-awesome-darkmode-toggle.js | 138 + .../doxygen-awesome-fragment-copy-button.js | 66 + .../doxygen-awesome-interactive-toc.js | 72 + .../doxygen-awesome-paragraph-link.js | 32 + ...n-awesome-sidebar-only-darkmode-toggle.css | 20 + .../doxygen-awesome-sidebar-only.css | 97 + .../doxygen-awesome-tabs.js | 71 + .../doxygen-awesome-css/doxygen-awesome.css | 2664 +++++++++++++++++ Documentation/environment_variables.rst | 2 - Documentation/extensions/doxygen-link.py | 73 + 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 +- .../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 | 26 +- .../{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 +- 43 files changed, 3556 insertions(+), 620 deletions(-) delete mode 100644 Documentation/documentation-contents.rst create mode 100644 Documentation/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js create mode 100644 Documentation/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js create mode 100644 Documentation/doxygen-awesome-css/doxygen-awesome-interactive-toc.js create mode 100644 Documentation/doxygen-awesome-css/doxygen-awesome-paragraph-link.js create mode 100644 Documentation/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css create mode 100644 Documentation/doxygen-awesome-css/doxygen-awesome-sidebar-only.css create mode 100644 Documentation/doxygen-awesome-css/doxygen-awesome-tabs.js create mode 100644 Documentation/doxygen-awesome-css/doxygen-awesome.css create mode 100644 Documentation/extensions/doxygen-link.py 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: b8d332cdcc130c27232f61369e7bab2d954e7ac6 --- Regards, Laurent Pinchart