From patchwork Wed Sep 17 20:17:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 24384 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 6FE7FC328C for ; Wed, 17 Sep 2025 20:18:31 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 088F969385; Wed, 17 Sep 2025 22:18:31 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="rz/7CZqG"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id DC0CF6937B for ; Wed, 17 Sep 2025 22:18:21 +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 B6248164C; Wed, 17 Sep 2025 22:17:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1758140222; bh=Z5HdlBmEqK1abtJPIYUqwr24PZO2TM9peYPnTQwbkRY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rz/7CZqGfwpn1BCvXWTj+TDhnKh1BHMIfElv+hMQ1j0YAiyx7vheMsdNKEaLGD87j BsqVfUV0SYizBYv/9+AFni1J7cP4dwlufv6FpflQskYs2/6qJ4o8E7W5M4cYAzIUSR N+ZwcEAetXmUcVN9+S6RHv+ccpKNGzh8w4eqdKm4= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Cc: Stefan Klug Subject: [PATCH v3 06/10] Documentation: Reorganize toctree Date: Wed, 17 Sep 2025 23:17:37 +0300 Message-ID: <20250917201742.16406-7-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.49.1 In-Reply-To: <20250917201742.16406-1-laurent.pinchart@ideasonboard.com> References: <20250917201742.16406-1-laurent.pinchart@ideasonboard.com> 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" From: Stefan Klug The libcamera Sphinx documentation contains three toctrees: a main toctree that contains all documentation pages in a flat hierarchy, and two hidden toctrees that point to the introduction and API pages. This architecture is mostly meant to support publishing the documentation on the libcamera.org website. The process recreates a hybrid documentation tree mixing content specific to the website and content extracted from libcamera. The hidden toctrees are used to prevent Sphinx from warning about unreferenced pages when the documentation is built as part of libcamera. This set of hacks work, but produce unorganized documentation in the build directory, as well as when installed to the system. Furthermore, they make it difficult to host multiple versions of the libcamera documentation on the website, which we will eventually want to do as the API stabilizes. It would be generally better to host on libcamera.org the documentation built as part of libcamera with the same structure of documents. To prepare for that change, reorganize the toctrees in libcamera with three visible trees: a toctree for users, a toctree for developers, and a toctree for integrators. Include the public and internal API pages in the first two trees respectively. This mimics the structure of the documentation as currently organized on the website. The resulting documentation becomes easier to navigate in the build and installation directories. Signed-off-by: Stefan Klug Signed-off-by: Laurent Pinchart Reviewed-by: Barnabás Pőcze --- Changes since v2: - Update commit message Changes since v1: - Split the build changes to a separate patch --- Documentation/index.rst | 45 ++++++++++++++++++++-------------- Documentation/introduction.rst | 6 ----- 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/Documentation/index.rst b/Documentation/index.rst index 251112fbdf5f..d55b5ff21464 100644 --- a/Documentation/index.rst +++ b/Documentation/index.rst @@ -4,28 +4,35 @@ .. toctree:: :maxdepth: 1 - :caption: Contents: + :caption: For Users - Home - Contribute - Getting Started - - Application Writer's Guide - Camera Sensor Model - Environment variables + Introduction Feature Requirements - IPA Writer's guide - Lens driver requirements - libcamera Architecture - Pipeline Handler Writer's Guide + Application Writer's Guide Python Bindings - Sensor driver requirements - SoftwareISP Benchmarking - Tracing guide - - Design document: AE + Environment variables + Public API .. toctree:: - :hidden: + :maxdepth: 1 + :caption: For Developers + + Contribute + Getting Started + Camera Sensor Model + IPA Writer's guide + libcamera Architecture + Pipeline Handler Writer's Guide + SoftwareISP Benchmarking + Tracing guide + Design document: AE + Internal API + +.. toctree:: + :maxdepth: 1 + :caption: For System Integrators + + Lens driver requirements + Sensor driver requirements + - introduction diff --git a/Documentation/introduction.rst b/Documentation/introduction.rst index 82aa11a30f33..d76cebd05ee1 100644 --- a/Documentation/introduction.rst +++ b/Documentation/introduction.rst @@ -6,12 +6,6 @@ Introduction ************ -.. toctree:: - :hidden: - - API - Internal API - What is libcamera? ==================