[{"id":30813,"web_url":"https://patchwork.libcamera.org/comment/30813/","msgid":"<20240814221847.GE22567@pendragon.ideasonboard.com>","date":"2024-08-14T22:18:47","subject":"Re: [PATCH 1/7] Documentation: Add documentation-contents.rst","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Dan,\n\nThank you for the patch.\n\nOn Fri, Aug 09, 2024 at 03:52:58PM +0100, Daniel Scally wrote:\n> Add a new .rst file referencing the documentation contents. This file\n> is then included in each documentation page so that we can enhance\n> the Documentation pages on the libcamera website using it. As we do\n> not want the appearance of the libcamera in-tree Documentation to\n> change just yet, disable the new class using the sphinx theme's CSS.\n> \n> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n> ---\n>  Documentation/camera-sensor-model.rst         |  2 ++\n>  Documentation/code-of-conduct.rst             |  2 ++\n>  Documentation/coding-style.rst                |  2 ++\n>  Documentation/conf.py                         |  7 ++++++-\n>  Documentation/docs.rst                        |  2 ++\n>  Documentation/documentation-contents.rst      | 20 +++++++++++++++++++\n>  Documentation/environment_variables.rst       |  2 ++\n>  Documentation/getting-started.rst             |  1 +\n>  .../guides/application-developer.rst          |  2 ++\n>  Documentation/guides/introduction.rst         |  2 ++\n>  Documentation/guides/ipa.rst                  |  2 ++\n>  Documentation/guides/pipeline-handler.rst     |  2 ++\n>  Documentation/guides/tracing.rst              |  2 ++\n>  Documentation/lens_driver_requirements.rst    |  2 ++\n>  Documentation/python-bindings.rst             |  2 ++\n>  Documentation/sensor_driver_requirements.rst  |  2 ++\n>  Documentation/software-isp-benchmarking.rst   |  2 ++\n>  Documentation/theme/static/css/theme.css      |  4 ++++\n>  18 files changed, 59 insertions(+), 1 deletion(-)\n>  create mode 100644 Documentation/documentation-contents.rst\n> \n> diff --git a/Documentation/camera-sensor-model.rst b/Documentation/camera-sensor-model.rst\n> index b66c880a..87a25bf4 100644\n> --- a/Documentation/camera-sensor-model.rst\n> +++ b/Documentation/camera-sensor-model.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _camera-sensor-model:\n>  \n>  .. todo: Move to Doxygen-generated documentation\n> diff --git a/Documentation/code-of-conduct.rst b/Documentation/code-of-conduct.rst\n> index 38b7d7ad..0edd1e99 100644\n> --- a/Documentation/code-of-conduct.rst\n> +++ b/Documentation/code-of-conduct.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _code-of-conduct:\n>  \n>  Contributor Covenant Code of Conduct\n\nI'm not sure this should be included in the technical documentation as\nsuch, but we can fine-tune what goes where later.\n\n> diff --git a/Documentation/coding-style.rst b/Documentation/coding-style.rst\n> index 72cb28d2..ae8446bd 100644\n> --- a/Documentation/coding-style.rst\n> +++ b/Documentation/coding-style.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _coding-style-guidelines:\n>  \n>  Coding Style Guidelines\n> diff --git a/Documentation/conf.py b/Documentation/conf.py\n> index 7eeea7f3..ca817aab 100644\n> --- a/Documentation/conf.py\n> +++ b/Documentation/conf.py\n> @@ -61,7 +61,12 @@ language = 'en'\n>  # List of patterns, relative to source directory, that match files and\n>  # directories to ignore when looking for source files.\n>  # This pattern also affects html_static_path and html_extra_path.\n> -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']\n> +exclude_patterns = [\n> +    '_build',\n> +    'Thumbs.db',\n> +    '.DS_Store',\n> +    'documentation-contents.rst',\n> +    ]\n\nThe closing bracket should be on the first column.\n\n>  \n>  # The name of the Pygments (syntax highlighting) style to use.\n>  pygments_style = None\n> diff --git a/Documentation/docs.rst b/Documentation/docs.rst\n> index a6e8a59a..5871961c 100644\n> --- a/Documentation/docs.rst\n> +++ b/Documentation/docs.rst\n> @@ -3,6 +3,8 @@\n>  .. contents::\n>     :local:\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  *************\n>  Documentation\n>  *************\n> diff --git a/Documentation/documentation-contents.rst b/Documentation/documentation-contents.rst\n> new file mode 100644\n> index 00000000..e9a3846b\n> --- /dev/null\n> +++ b/Documentation/documentation-contents.rst\n> @@ -0,0 +1,20 @@\n> +.. SPDX-License-Identifier: CC-BY-SA-4.0\n> +\n> +.. container:: documentation-nav\n> +\n> +   * :doc:`/api-html/index`\n> +   * :doc:`/camera-sensor-model`\n> +   * :doc:`/code-of-conduct`\n> +   * :doc:`/coding-style`\n> +   * :doc:`/environment_variables`\n> +   * :doc:`/guides/application-developer`\n> +   * :doc:`/guides/introduction`\n> +   * :doc:`/guides/ipa`\n> +   * :doc:`/guides/pipeline-handler`\n> +   * :doc:`/guides/tracing`\n> +   * :doc:`/lens_driver_requirements`\n> +   * :doc:`/python-bindings`\n> +   * :doc:`/sensor_driver_requirements`\n> +   * :doc:`/software-isp-benchmarking`\n> +\n> +.. rst-class:: documentation\n\nWhat is this class for ? It doesn't seem to be defined yet, does it\nbelong to a different patch in the series ?\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> diff --git a/Documentation/environment_variables.rst b/Documentation/environment_variables.rst\n> index 4e9fbb27..1478275b 100644\n> --- a/Documentation/environment_variables.rst\n> +++ b/Documentation/environment_variables.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  Environment variables\n>  =====================\n>  \n> diff --git a/Documentation/getting-started.rst b/Documentation/getting-started.rst\n> index 987f43f7..63b050eb 100644\n> --- a/Documentation/getting-started.rst\n> +++ b/Documentation/getting-started.rst\n> @@ -1,4 +1,5 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n> +\n>  .. Getting started information is defined in the project README file.\n>  .. include:: ../README.rst\n>     :start-after: .. section-begin-getting-started\n> diff --git a/Documentation/guides/application-developer.rst b/Documentation/guides/application-developer.rst\n> index 92e2a373..1ea8c40f 100644\n> --- a/Documentation/guides/application-developer.rst\n> +++ b/Documentation/guides/application-developer.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: ../documentation-contents.rst\n> +\n>  Using libcamera in a C++ application\n>  ====================================\n>  \n> diff --git a/Documentation/guides/introduction.rst b/Documentation/guides/introduction.rst\n> index 700ec2d3..8368bd4a 100644\n> --- a/Documentation/guides/introduction.rst\n> +++ b/Documentation/guides/introduction.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: ../documentation-contents.rst\n> +\n>  Developers guide to libcamera\n>  =============================\n>  \n> diff --git a/Documentation/guides/ipa.rst b/Documentation/guides/ipa.rst\n> index 25deadef..cd640563 100644\n> --- a/Documentation/guides/ipa.rst\n> +++ b/Documentation/guides/ipa.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: ../documentation-contents.rst\n> +\n>  IPA Writer's Guide\n>  ==================\n>  \n> diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst\n> index 7e45cdb8..efa89342 100644\n> --- a/Documentation/guides/pipeline-handler.rst\n> +++ b/Documentation/guides/pipeline-handler.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: ../documentation-contents.rst\n> +\n>  Pipeline Handler Writers Guide\n>  ==============================\n>  \n> diff --git a/Documentation/guides/tracing.rst b/Documentation/guides/tracing.rst\n> index ae960d85..537dce50 100644\n> --- a/Documentation/guides/tracing.rst\n> +++ b/Documentation/guides/tracing.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: ../documentation-contents.rst\n> +\n>  Tracing Guide\n>  =============\n>  \n> diff --git a/Documentation/lens_driver_requirements.rst b/Documentation/lens_driver_requirements.rst\n> index b96e502d..85fef76f 100644\n> --- a/Documentation/lens_driver_requirements.rst\n> +++ b/Documentation/lens_driver_requirements.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _lens-driver-requirements:\n>  \n>  Lens Driver Requirements\n> diff --git a/Documentation/python-bindings.rst b/Documentation/python-bindings.rst\n> index ed9f686b..94712238 100644\n> --- a/Documentation/python-bindings.rst\n> +++ b/Documentation/python-bindings.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _python-bindings:\n>  \n>  Python Bindings for libcamera\n> diff --git a/Documentation/sensor_driver_requirements.rst b/Documentation/sensor_driver_requirements.rst\n> index 0e516b34..fb4269d0 100644\n> --- a/Documentation/sensor_driver_requirements.rst\n> +++ b/Documentation/sensor_driver_requirements.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _sensor-driver-requirements:\n>  \n>  Sensor Driver Requirements\n> diff --git a/Documentation/software-isp-benchmarking.rst b/Documentation/software-isp-benchmarking.rst\n> index b3033132..9c2a409b 100644\n> --- a/Documentation/software-isp-benchmarking.rst\n> +++ b/Documentation/software-isp-benchmarking.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _software-isp-benchmarking:\n>  \n>  Software ISP benchmarking\n> diff --git a/Documentation/theme/static/css/theme.css b/Documentation/theme/static/css/theme.css\n> index d4274ea6..2b1ed095 100644\n> --- a/Documentation/theme/static/css/theme.css\n> +++ b/Documentation/theme/static/css/theme.css\n> @@ -289,3 +289,7 @@ div#signature {\n>  \tpadding: 0px;\n>  \tvisibility: hidden;\n>  }\n> +\n> +.documentation-nav {\n> +\tdisplay: none;\n> +}","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id AEAB8C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 14 Aug 2024 22:19:15 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8E69B633BE;\n\tThu, 15 Aug 2024 00:19:14 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 56A9363394\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 15 Aug 2024 00:19:13 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 164AD3A2;\n\tThu, 15 Aug 2024 00:18:15 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"UbTn55Gz\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1723673895;\n\tbh=ukKn9zdSR8ORqqaCu0aWPpLtn6qmxm+SRXSA4xLxF7A=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=UbTn55Gzpwsr2QNuGQpTG7A7XV31soFum70a2I63gaRCg9O5NSKcRdkscJ04CDkUH\n\tYMmBJ5RN9r3jxxsIWbeW9dl4LR3o/BqRCtRmHxb+wLAi3SK6pHk3JxvvZeeXVuDXSc\n\tHX+sb3/tmT25iAidh4vU75vJTpfw6igs54z4I/b4=","Date":"Thu, 15 Aug 2024 01:18:47 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Daniel Scally <dan.scally@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH 1/7] Documentation: Add documentation-contents.rst","Message-ID":"<20240814221847.GE22567@pendragon.ideasonboard.com>","References":"<20240809145304.537551-1-dan.scally@ideasonboard.com>\n\t<20240809145304.537551-2-dan.scally@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20240809145304.537551-2-dan.scally@ideasonboard.com>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":30815,"web_url":"https://patchwork.libcamera.org/comment/30815/","msgid":"<5f600729-e3ae-41fc-86ea-f5b051570da1@ideasonboard.com>","date":"2024-08-14T22:22:53","subject":"Re: [PATCH 1/7] Documentation: Add documentation-contents.rst","submitter":{"id":156,"url":"https://patchwork.libcamera.org/api/people/156/","name":"Dan Scally","email":"dan.scally@ideasonboard.com"},"content":"Hi Laurent\n\nOn 14/08/2024 23:18, Laurent Pinchart wrote:\n> Hi Dan,\n>\n> Thank you for the patch.\n>\n> On Fri, Aug 09, 2024 at 03:52:58PM +0100, Daniel Scally wrote:\n>> Add a new .rst file referencing the documentation contents. This file\n>> is then included in each documentation page so that we can enhance\n>> the Documentation pages on the libcamera website using it. As we do\n>> not want the appearance of the libcamera in-tree Documentation to\n>> change just yet, disable the new class using the sphinx theme's CSS.\n>>\n>> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n>> ---\n>>   Documentation/camera-sensor-model.rst         |  2 ++\n>>   Documentation/code-of-conduct.rst             |  2 ++\n>>   Documentation/coding-style.rst                |  2 ++\n>>   Documentation/conf.py                         |  7 ++++++-\n>>   Documentation/docs.rst                        |  2 ++\n>>   Documentation/documentation-contents.rst      | 20 +++++++++++++++++++\n>>   Documentation/environment_variables.rst       |  2 ++\n>>   Documentation/getting-started.rst             |  1 +\n>>   .../guides/application-developer.rst          |  2 ++\n>>   Documentation/guides/introduction.rst         |  2 ++\n>>   Documentation/guides/ipa.rst                  |  2 ++\n>>   Documentation/guides/pipeline-handler.rst     |  2 ++\n>>   Documentation/guides/tracing.rst              |  2 ++\n>>   Documentation/lens_driver_requirements.rst    |  2 ++\n>>   Documentation/python-bindings.rst             |  2 ++\n>>   Documentation/sensor_driver_requirements.rst  |  2 ++\n>>   Documentation/software-isp-benchmarking.rst   |  2 ++\n>>   Documentation/theme/static/css/theme.css      |  4 ++++\n>>   18 files changed, 59 insertions(+), 1 deletion(-)\n>>   create mode 100644 Documentation/documentation-contents.rst\n>>\n>> diff --git a/Documentation/camera-sensor-model.rst b/Documentation/camera-sensor-model.rst\n>> index b66c880a..87a25bf4 100644\n>> --- a/Documentation/camera-sensor-model.rst\n>> +++ b/Documentation/camera-sensor-model.rst\n>> @@ -1,5 +1,7 @@\n>>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>   \n>> +.. include:: documentation-contents.rst\n>> +\n>>   .. _camera-sensor-model:\n>>   \n>>   .. todo: Move to Doxygen-generated documentation\n>> diff --git a/Documentation/code-of-conduct.rst b/Documentation/code-of-conduct.rst\n>> index 38b7d7ad..0edd1e99 100644\n>> --- a/Documentation/code-of-conduct.rst\n>> +++ b/Documentation/code-of-conduct.rst\n>> @@ -1,5 +1,7 @@\n>>   .. SPDX-License-Identifier: CC-BY-4.0\n>>   \n>> +.. include:: documentation-contents.rst\n>> +\n>>   .. _code-of-conduct:\n>>   \n>>   Contributor Covenant Code of Conduct\n> I'm not sure this should be included in the technical documentation as\n> such, but we can fine-tune what goes where later.\n>\n>> diff --git a/Documentation/coding-style.rst b/Documentation/coding-style.rst\n>> index 72cb28d2..ae8446bd 100644\n>> --- a/Documentation/coding-style.rst\n>> +++ b/Documentation/coding-style.rst\n>> @@ -1,5 +1,7 @@\n>>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>   \n>> +.. include:: documentation-contents.rst\n>> +\n>>   .. _coding-style-guidelines:\n>>   \n>>   Coding Style Guidelines\n>> diff --git a/Documentation/conf.py b/Documentation/conf.py\n>> index 7eeea7f3..ca817aab 100644\n>> --- a/Documentation/conf.py\n>> +++ b/Documentation/conf.py\n>> @@ -61,7 +61,12 @@ language = 'en'\n>>   # List of patterns, relative to source directory, that match files and\n>>   # directories to ignore when looking for source files.\n>>   # This pattern also affects html_static_path and html_extra_path.\n>> -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']\n>> +exclude_patterns = [\n>> +    '_build',\n>> +    'Thumbs.db',\n>> +    '.DS_Store',\n>> +    'documentation-contents.rst',\n>> +    ]\n> The closing bracket should be on the first column.\n>\n>>   \n>>   # The name of the Pygments (syntax highlighting) style to use.\n>>   pygments_style = None\n>> diff --git a/Documentation/docs.rst b/Documentation/docs.rst\n>> index a6e8a59a..5871961c 100644\n>> --- a/Documentation/docs.rst\n>> +++ b/Documentation/docs.rst\n>> @@ -3,6 +3,8 @@\n>>   .. contents::\n>>      :local:\n>>   \n>> +.. include:: documentation-contents.rst\n>> +\n>>   *************\n>>   Documentation\n>>   *************\n>> diff --git a/Documentation/documentation-contents.rst b/Documentation/documentation-contents.rst\n>> new file mode 100644\n>> index 00000000..e9a3846b\n>> --- /dev/null\n>> +++ b/Documentation/documentation-contents.rst\n>> @@ -0,0 +1,20 @@\n>> +.. SPDX-License-Identifier: CC-BY-SA-4.0\n>> +\n>> +.. container:: documentation-nav\n>> +\n>> +   * :doc:`/api-html/index`\n>> +   * :doc:`/camera-sensor-model`\n>> +   * :doc:`/code-of-conduct`\n>> +   * :doc:`/coding-style`\n>> +   * :doc:`/environment_variables`\n>> +   * :doc:`/guides/application-developer`\n>> +   * :doc:`/guides/introduction`\n>> +   * :doc:`/guides/ipa`\n>> +   * :doc:`/guides/pipeline-handler`\n>> +   * :doc:`/guides/tracing`\n>> +   * :doc:`/lens_driver_requirements`\n>> +   * :doc:`/python-bindings`\n>> +   * :doc:`/sensor_driver_requirements`\n>> +   * :doc:`/software-isp-benchmarking`\n>> +\n>> +.. rst-class:: documentation\n> What is this class for ? It doesn't seem to be defined yet, does it\n> belong to a different patch in the series ?\n\n\nPossibly this could have been explained better; adding the \"documentation\" class to the body of the \ndocumentation pages lets us control them as one through the CSS. Having this setting as the last \nline of this file and then including this file in each documentation file was the simplest way to \nadd it to all of them.\n\n>\n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>\n>> diff --git a/Documentation/environment_variables.rst b/Documentation/environment_variables.rst\n>> index 4e9fbb27..1478275b 100644\n>> --- a/Documentation/environment_variables.rst\n>> +++ b/Documentation/environment_variables.rst\n>> @@ -1,5 +1,7 @@\n>>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>   \n>> +.. include:: documentation-contents.rst\n>> +\n>>   Environment variables\n>>   =====================\n>>   \n>> diff --git a/Documentation/getting-started.rst b/Documentation/getting-started.rst\n>> index 987f43f7..63b050eb 100644\n>> --- a/Documentation/getting-started.rst\n>> +++ b/Documentation/getting-started.rst\n>> @@ -1,4 +1,5 @@\n>>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n>> +\n>>   .. Getting started information is defined in the project README file.\n>>   .. include:: ../README.rst\n>>      :start-after: .. section-begin-getting-started\n>> diff --git a/Documentation/guides/application-developer.rst b/Documentation/guides/application-developer.rst\n>> index 92e2a373..1ea8c40f 100644\n>> --- a/Documentation/guides/application-developer.rst\n>> +++ b/Documentation/guides/application-developer.rst\n>> @@ -1,5 +1,7 @@\n>>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>   \n>> +.. include:: ../documentation-contents.rst\n>> +\n>>   Using libcamera in a C++ application\n>>   ====================================\n>>   \n>> diff --git a/Documentation/guides/introduction.rst b/Documentation/guides/introduction.rst\n>> index 700ec2d3..8368bd4a 100644\n>> --- a/Documentation/guides/introduction.rst\n>> +++ b/Documentation/guides/introduction.rst\n>> @@ -1,5 +1,7 @@\n>>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>   \n>> +.. include:: ../documentation-contents.rst\n>> +\n>>   Developers guide to libcamera\n>>   =============================\n>>   \n>> diff --git a/Documentation/guides/ipa.rst b/Documentation/guides/ipa.rst\n>> index 25deadef..cd640563 100644\n>> --- a/Documentation/guides/ipa.rst\n>> +++ b/Documentation/guides/ipa.rst\n>> @@ -1,5 +1,7 @@\n>>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>   \n>> +.. include:: ../documentation-contents.rst\n>> +\n>>   IPA Writer's Guide\n>>   ==================\n>>   \n>> diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst\n>> index 7e45cdb8..efa89342 100644\n>> --- a/Documentation/guides/pipeline-handler.rst\n>> +++ b/Documentation/guides/pipeline-handler.rst\n>> @@ -1,5 +1,7 @@\n>>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>   \n>> +.. include:: ../documentation-contents.rst\n>> +\n>>   Pipeline Handler Writers Guide\n>>   ==============================\n>>   \n>> diff --git a/Documentation/guides/tracing.rst b/Documentation/guides/tracing.rst\n>> index ae960d85..537dce50 100644\n>> --- a/Documentation/guides/tracing.rst\n>> +++ b/Documentation/guides/tracing.rst\n>> @@ -1,5 +1,7 @@\n>>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>   \n>> +.. include:: ../documentation-contents.rst\n>> +\n>>   Tracing Guide\n>>   =============\n>>   \n>> diff --git a/Documentation/lens_driver_requirements.rst b/Documentation/lens_driver_requirements.rst\n>> index b96e502d..85fef76f 100644\n>> --- a/Documentation/lens_driver_requirements.rst\n>> +++ b/Documentation/lens_driver_requirements.rst\n>> @@ -1,5 +1,7 @@\n>>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>   \n>> +.. include:: documentation-contents.rst\n>> +\n>>   .. _lens-driver-requirements:\n>>   \n>>   Lens Driver Requirements\n>> diff --git a/Documentation/python-bindings.rst b/Documentation/python-bindings.rst\n>> index ed9f686b..94712238 100644\n>> --- a/Documentation/python-bindings.rst\n>> +++ b/Documentation/python-bindings.rst\n>> @@ -1,5 +1,7 @@\n>>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>   \n>> +.. include:: documentation-contents.rst\n>> +\n>>   .. _python-bindings:\n>>   \n>>   Python Bindings for libcamera\n>> diff --git a/Documentation/sensor_driver_requirements.rst b/Documentation/sensor_driver_requirements.rst\n>> index 0e516b34..fb4269d0 100644\n>> --- a/Documentation/sensor_driver_requirements.rst\n>> +++ b/Documentation/sensor_driver_requirements.rst\n>> @@ -1,5 +1,7 @@\n>>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>   \n>> +.. include:: documentation-contents.rst\n>> +\n>>   .. _sensor-driver-requirements:\n>>   \n>>   Sensor Driver Requirements\n>> diff --git a/Documentation/software-isp-benchmarking.rst b/Documentation/software-isp-benchmarking.rst\n>> index b3033132..9c2a409b 100644\n>> --- a/Documentation/software-isp-benchmarking.rst\n>> +++ b/Documentation/software-isp-benchmarking.rst\n>> @@ -1,5 +1,7 @@\n>>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>   \n>> +.. include:: documentation-contents.rst\n>> +\n>>   .. _software-isp-benchmarking:\n>>   \n>>   Software ISP benchmarking\n>> diff --git a/Documentation/theme/static/css/theme.css b/Documentation/theme/static/css/theme.css\n>> index d4274ea6..2b1ed095 100644\n>> --- a/Documentation/theme/static/css/theme.css\n>> +++ b/Documentation/theme/static/css/theme.css\n>> @@ -289,3 +289,7 @@ div#signature {\n>>   \tpadding: 0px;\n>>   \tvisibility: hidden;\n>>   }\n>> +\n>> +.documentation-nav {\n>> +\tdisplay: none;\n>> +}","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id D1999BDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 14 Aug 2024 22:22:59 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D321A633BD;\n\tThu, 15 Aug 2024 00:22:58 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 753EA63382\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 15 Aug 2024 00:22:57 +0200 (CEST)","from [192.168.0.43]\n\t(cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 41B753A2;\n\tThu, 15 Aug 2024 00:21:59 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"Pfj4jL5o\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1723674119;\n\tbh=OjPtQb6NanCIb1JwzpjWqwDBBT36/Qhrrxz7jgSZgJU=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=Pfj4jL5o9Qt6YNMA6XvvfmwsjotZUAcGfoJxAOWghZpnKUk1z8MZPeVJXPIpEfwEC\n\t0SW6eXj+AlRq00i3mFBCVCibmwmMpdiDmPZARRB+EtTzJvgA96zymxcJ4F5xsiZ7Ez\n\tOdPBmOLLWr7S1BjaPcdQQaeeydhizrRUF1vTWHlU=","Message-ID":"<5f600729-e3ae-41fc-86ea-f5b051570da1@ideasonboard.com>","Date":"Wed, 14 Aug 2024 23:22:53 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 1/7] Documentation: Add documentation-contents.rst","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20240809145304.537551-1-dan.scally@ideasonboard.com>\n\t<20240809145304.537551-2-dan.scally@ideasonboard.com>\n\t<20240814221847.GE22567@pendragon.ideasonboard.com>","Content-Language":"en-US","From":"Dan Scally <dan.scally@ideasonboard.com>","Autocrypt":"addr=dan.scally@ideasonboard.com; keydata=\n\t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","In-Reply-To":"<20240814221847.GE22567@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":30818,"web_url":"https://patchwork.libcamera.org/comment/30818/","msgid":"<20240814223130.GG22567@pendragon.ideasonboard.com>","date":"2024-08-14T22:31:30","subject":"Re: [PATCH 1/7] Documentation: Add documentation-contents.rst","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Wed, Aug 14, 2024 at 11:22:53PM +0100, Daniel Scally wrote:\n> On 14/08/2024 23:18, Laurent Pinchart wrote:\n> > On Fri, Aug 09, 2024 at 03:52:58PM +0100, Daniel Scally wrote:\n> >> Add a new .rst file referencing the documentation contents. This file\n> >> is then included in each documentation page so that we can enhance\n> >> the Documentation pages on the libcamera website using it. As we do\n> >> not want the appearance of the libcamera in-tree Documentation to\n> >> change just yet, disable the new class using the sphinx theme's CSS.\n> >>\n> >> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n> >> ---\n> >>   Documentation/camera-sensor-model.rst         |  2 ++\n> >>   Documentation/code-of-conduct.rst             |  2 ++\n> >>   Documentation/coding-style.rst                |  2 ++\n> >>   Documentation/conf.py                         |  7 ++++++-\n> >>   Documentation/docs.rst                        |  2 ++\n> >>   Documentation/documentation-contents.rst      | 20 +++++++++++++++++++\n> >>   Documentation/environment_variables.rst       |  2 ++\n> >>   Documentation/getting-started.rst             |  1 +\n> >>   .../guides/application-developer.rst          |  2 ++\n> >>   Documentation/guides/introduction.rst         |  2 ++\n> >>   Documentation/guides/ipa.rst                  |  2 ++\n> >>   Documentation/guides/pipeline-handler.rst     |  2 ++\n> >>   Documentation/guides/tracing.rst              |  2 ++\n> >>   Documentation/lens_driver_requirements.rst    |  2 ++\n> >>   Documentation/python-bindings.rst             |  2 ++\n> >>   Documentation/sensor_driver_requirements.rst  |  2 ++\n> >>   Documentation/software-isp-benchmarking.rst   |  2 ++\n> >>   Documentation/theme/static/css/theme.css      |  4 ++++\n> >>   18 files changed, 59 insertions(+), 1 deletion(-)\n> >>   create mode 100644 Documentation/documentation-contents.rst\n> >>\n> >> diff --git a/Documentation/camera-sensor-model.rst b/Documentation/camera-sensor-model.rst\n> >> index b66c880a..87a25bf4 100644\n> >> --- a/Documentation/camera-sensor-model.rst\n> >> +++ b/Documentation/camera-sensor-model.rst\n> >> @@ -1,5 +1,7 @@\n> >>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>   \n> >> +.. include:: documentation-contents.rst\n> >> +\n> >>   .. _camera-sensor-model:\n> >>   \n> >>   .. todo: Move to Doxygen-generated documentation\n> >> diff --git a/Documentation/code-of-conduct.rst b/Documentation/code-of-conduct.rst\n> >> index 38b7d7ad..0edd1e99 100644\n> >> --- a/Documentation/code-of-conduct.rst\n> >> +++ b/Documentation/code-of-conduct.rst\n> >> @@ -1,5 +1,7 @@\n> >>   .. SPDX-License-Identifier: CC-BY-4.0\n> >>   \n> >> +.. include:: documentation-contents.rst\n> >> +\n> >>   .. _code-of-conduct:\n> >>   \n> >>   Contributor Covenant Code of Conduct\n> > I'm not sure this should be included in the technical documentation as\n> > such, but we can fine-tune what goes where later.\n> >\n> >> diff --git a/Documentation/coding-style.rst b/Documentation/coding-style.rst\n> >> index 72cb28d2..ae8446bd 100644\n> >> --- a/Documentation/coding-style.rst\n> >> +++ b/Documentation/coding-style.rst\n> >> @@ -1,5 +1,7 @@\n> >>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>   \n> >> +.. include:: documentation-contents.rst\n> >> +\n> >>   .. _coding-style-guidelines:\n> >>   \n> >>   Coding Style Guidelines\n> >> diff --git a/Documentation/conf.py b/Documentation/conf.py\n> >> index 7eeea7f3..ca817aab 100644\n> >> --- a/Documentation/conf.py\n> >> +++ b/Documentation/conf.py\n> >> @@ -61,7 +61,12 @@ language = 'en'\n> >>   # List of patterns, relative to source directory, that match files and\n> >>   # directories to ignore when looking for source files.\n> >>   # This pattern also affects html_static_path and html_extra_path.\n> >> -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']\n> >> +exclude_patterns = [\n> >> +    '_build',\n> >> +    'Thumbs.db',\n> >> +    '.DS_Store',\n> >> +    'documentation-contents.rst',\n> >> +    ]\n> > The closing bracket should be on the first column.\n> >\n> >>   \n> >>   # The name of the Pygments (syntax highlighting) style to use.\n> >>   pygments_style = None\n> >> diff --git a/Documentation/docs.rst b/Documentation/docs.rst\n> >> index a6e8a59a..5871961c 100644\n> >> --- a/Documentation/docs.rst\n> >> +++ b/Documentation/docs.rst\n> >> @@ -3,6 +3,8 @@\n> >>   .. contents::\n> >>      :local:\n> >>   \n> >> +.. include:: documentation-contents.rst\n> >> +\n> >>   *************\n> >>   Documentation\n> >>   *************\n> >> diff --git a/Documentation/documentation-contents.rst b/Documentation/documentation-contents.rst\n> >> new file mode 100644\n> >> index 00000000..e9a3846b\n> >> --- /dev/null\n> >> +++ b/Documentation/documentation-contents.rst\n> >> @@ -0,0 +1,20 @@\n> >> +.. SPDX-License-Identifier: CC-BY-SA-4.0\n> >> +\n> >> +.. container:: documentation-nav\n> >> +\n> >> +   * :doc:`/api-html/index`\n> >> +   * :doc:`/camera-sensor-model`\n> >> +   * :doc:`/code-of-conduct`\n> >> +   * :doc:`/coding-style`\n> >> +   * :doc:`/environment_variables`\n> >> +   * :doc:`/guides/application-developer`\n> >> +   * :doc:`/guides/introduction`\n> >> +   * :doc:`/guides/ipa`\n> >> +   * :doc:`/guides/pipeline-handler`\n> >> +   * :doc:`/guides/tracing`\n> >> +   * :doc:`/lens_driver_requirements`\n> >> +   * :doc:`/python-bindings`\n> >> +   * :doc:`/sensor_driver_requirements`\n> >> +   * :doc:`/software-isp-benchmarking`\n> >> +\n> >> +.. rst-class:: documentation\n> >\n> > What is this class for ? It doesn't seem to be defined yet, does it\n> > belong to a different patch in the series ?\n> \n> Possibly this could have been explained better; adding the\n> \"documentation\" class to the body of the documentation pages lets us\n> control them as one through the CSS. Having this setting as the last\n> line of this file and then including this file in each documentation\n> file was the simplest way to add it to all of them.\n\nI suspected so, but there's no documentation class in the css defined at\nthis point, is there ? That's why I asked if this belong to a different\npatch.\n\nAs for having the class in this file, it's a bit of a hack, but I can\nlive with it.\n\n> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> >\n> >> diff --git a/Documentation/environment_variables.rst b/Documentation/environment_variables.rst\n> >> index 4e9fbb27..1478275b 100644\n> >> --- a/Documentation/environment_variables.rst\n> >> +++ b/Documentation/environment_variables.rst\n> >> @@ -1,5 +1,7 @@\n> >>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>   \n> >> +.. include:: documentation-contents.rst\n> >> +\n> >>   Environment variables\n> >>   =====================\n> >>   \n> >> diff --git a/Documentation/getting-started.rst b/Documentation/getting-started.rst\n> >> index 987f43f7..63b050eb 100644\n> >> --- a/Documentation/getting-started.rst\n> >> +++ b/Documentation/getting-started.rst\n> >> @@ -1,4 +1,5 @@\n> >>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >> +\n> >>   .. Getting started information is defined in the project README file.\n> >>   .. include:: ../README.rst\n> >>      :start-after: .. section-begin-getting-started\n> >> diff --git a/Documentation/guides/application-developer.rst b/Documentation/guides/application-developer.rst\n> >> index 92e2a373..1ea8c40f 100644\n> >> --- a/Documentation/guides/application-developer.rst\n> >> +++ b/Documentation/guides/application-developer.rst\n> >> @@ -1,5 +1,7 @@\n> >>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>   \n> >> +.. include:: ../documentation-contents.rst\n> >> +\n> >>   Using libcamera in a C++ application\n> >>   ====================================\n> >>   \n> >> diff --git a/Documentation/guides/introduction.rst b/Documentation/guides/introduction.rst\n> >> index 700ec2d3..8368bd4a 100644\n> >> --- a/Documentation/guides/introduction.rst\n> >> +++ b/Documentation/guides/introduction.rst\n> >> @@ -1,5 +1,7 @@\n> >>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>   \n> >> +.. include:: ../documentation-contents.rst\n> >> +\n> >>   Developers guide to libcamera\n> >>   =============================\n> >>   \n> >> diff --git a/Documentation/guides/ipa.rst b/Documentation/guides/ipa.rst\n> >> index 25deadef..cd640563 100644\n> >> --- a/Documentation/guides/ipa.rst\n> >> +++ b/Documentation/guides/ipa.rst\n> >> @@ -1,5 +1,7 @@\n> >>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>   \n> >> +.. include:: ../documentation-contents.rst\n> >> +\n> >>   IPA Writer's Guide\n> >>   ==================\n> >>   \n> >> diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst\n> >> index 7e45cdb8..efa89342 100644\n> >> --- a/Documentation/guides/pipeline-handler.rst\n> >> +++ b/Documentation/guides/pipeline-handler.rst\n> >> @@ -1,5 +1,7 @@\n> >>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>   \n> >> +.. include:: ../documentation-contents.rst\n> >> +\n> >>   Pipeline Handler Writers Guide\n> >>   ==============================\n> >>   \n> >> diff --git a/Documentation/guides/tracing.rst b/Documentation/guides/tracing.rst\n> >> index ae960d85..537dce50 100644\n> >> --- a/Documentation/guides/tracing.rst\n> >> +++ b/Documentation/guides/tracing.rst\n> >> @@ -1,5 +1,7 @@\n> >>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>   \n> >> +.. include:: ../documentation-contents.rst\n> >> +\n> >>   Tracing Guide\n> >>   =============\n> >>   \n> >> diff --git a/Documentation/lens_driver_requirements.rst b/Documentation/lens_driver_requirements.rst\n> >> index b96e502d..85fef76f 100644\n> >> --- a/Documentation/lens_driver_requirements.rst\n> >> +++ b/Documentation/lens_driver_requirements.rst\n> >> @@ -1,5 +1,7 @@\n> >>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>   \n> >> +.. include:: documentation-contents.rst\n> >> +\n> >>   .. _lens-driver-requirements:\n> >>   \n> >>   Lens Driver Requirements\n> >> diff --git a/Documentation/python-bindings.rst b/Documentation/python-bindings.rst\n> >> index ed9f686b..94712238 100644\n> >> --- a/Documentation/python-bindings.rst\n> >> +++ b/Documentation/python-bindings.rst\n> >> @@ -1,5 +1,7 @@\n> >>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>   \n> >> +.. include:: documentation-contents.rst\n> >> +\n> >>   .. _python-bindings:\n> >>   \n> >>   Python Bindings for libcamera\n> >> diff --git a/Documentation/sensor_driver_requirements.rst b/Documentation/sensor_driver_requirements.rst\n> >> index 0e516b34..fb4269d0 100644\n> >> --- a/Documentation/sensor_driver_requirements.rst\n> >> +++ b/Documentation/sensor_driver_requirements.rst\n> >> @@ -1,5 +1,7 @@\n> >>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>   \n> >> +.. include:: documentation-contents.rst\n> >> +\n> >>   .. _sensor-driver-requirements:\n> >>   \n> >>   Sensor Driver Requirements\n> >> diff --git a/Documentation/software-isp-benchmarking.rst b/Documentation/software-isp-benchmarking.rst\n> >> index b3033132..9c2a409b 100644\n> >> --- a/Documentation/software-isp-benchmarking.rst\n> >> +++ b/Documentation/software-isp-benchmarking.rst\n> >> @@ -1,5 +1,7 @@\n> >>   .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>   \n> >> +.. include:: documentation-contents.rst\n> >> +\n> >>   .. _software-isp-benchmarking:\n> >>   \n> >>   Software ISP benchmarking\n> >> diff --git a/Documentation/theme/static/css/theme.css b/Documentation/theme/static/css/theme.css\n> >> index d4274ea6..2b1ed095 100644\n> >> --- a/Documentation/theme/static/css/theme.css\n> >> +++ b/Documentation/theme/static/css/theme.css\n> >> @@ -289,3 +289,7 @@ div#signature {\n> >>   \tpadding: 0px;\n> >>   \tvisibility: hidden;\n> >>   }\n> >> +\n> >> +.documentation-nav {\n> >> +\tdisplay: none;\n> >> +}","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 2AA87C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 14 Aug 2024 22:31:59 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 203E6633BE;\n\tThu, 15 Aug 2024 00:31:58 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E6E1E63394\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 15 Aug 2024 00:31:55 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id A9D213A2;\n\tThu, 15 Aug 2024 00:30:57 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"r762lVR+\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1723674657;\n\tbh=hz7WP6+sWzdGx8XGC48yTzO23Nd+UiRy/cdeX+HxH4Q=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=r762lVR+D6yMlfJdST3wzsuffXRGJk0CWCnVoOkYMSO01DVU87rT+/LWl1wV8yxU1\n\toSE2iaeT3faz58wCSjot1uIFXIcJYueroWMWsI0qXmW+dJA2obozzBeEl4kNuQ2lzS\n\tztNj1/cvIMqx7251ueyk9e+NzhevheNuNV9cbJrs=","Date":"Thu, 15 Aug 2024 01:31:30 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Dan Scally <dan.scally@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH 1/7] Documentation: Add documentation-contents.rst","Message-ID":"<20240814223130.GG22567@pendragon.ideasonboard.com>","References":"<20240809145304.537551-1-dan.scally@ideasonboard.com>\n\t<20240809145304.537551-2-dan.scally@ideasonboard.com>\n\t<20240814221847.GE22567@pendragon.ideasonboard.com>\n\t<5f600729-e3ae-41fc-86ea-f5b051570da1@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<5f600729-e3ae-41fc-86ea-f5b051570da1@ideasonboard.com>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":30820,"web_url":"https://patchwork.libcamera.org/comment/30820/","msgid":"<70bd956d-3376-4cbe-b7ea-afcf28de7d0c@ideasonboard.com>","date":"2024-08-14T22:38:24","subject":"Re: [PATCH 1/7] Documentation: Add documentation-contents.rst","submitter":{"id":156,"url":"https://patchwork.libcamera.org/api/people/156/","name":"Dan Scally","email":"dan.scally@ideasonboard.com"},"content":"Hi Laurent\n\nOn 14/08/2024 23:31, Laurent Pinchart wrote:\n> On Wed, Aug 14, 2024 at 11:22:53PM +0100, Daniel Scally wrote:\n>> On 14/08/2024 23:18, Laurent Pinchart wrote:\n>>> On Fri, Aug 09, 2024 at 03:52:58PM +0100, Daniel Scally wrote:\n>>>> Add a new .rst file referencing the documentation contents. This file\n>>>> is then included in each documentation page so that we can enhance\n>>>> the Documentation pages on the libcamera website using it. As we do\n>>>> not want the appearance of the libcamera in-tree Documentation to\n>>>> change just yet, disable the new class using the sphinx theme's CSS.\n>>>>\n>>>> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n>>>> ---\n>>>>    Documentation/camera-sensor-model.rst         |  2 ++\n>>>>    Documentation/code-of-conduct.rst             |  2 ++\n>>>>    Documentation/coding-style.rst                |  2 ++\n>>>>    Documentation/conf.py                         |  7 ++++++-\n>>>>    Documentation/docs.rst                        |  2 ++\n>>>>    Documentation/documentation-contents.rst      | 20 +++++++++++++++++++\n>>>>    Documentation/environment_variables.rst       |  2 ++\n>>>>    Documentation/getting-started.rst             |  1 +\n>>>>    .../guides/application-developer.rst          |  2 ++\n>>>>    Documentation/guides/introduction.rst         |  2 ++\n>>>>    Documentation/guides/ipa.rst                  |  2 ++\n>>>>    Documentation/guides/pipeline-handler.rst     |  2 ++\n>>>>    Documentation/guides/tracing.rst              |  2 ++\n>>>>    Documentation/lens_driver_requirements.rst    |  2 ++\n>>>>    Documentation/python-bindings.rst             |  2 ++\n>>>>    Documentation/sensor_driver_requirements.rst  |  2 ++\n>>>>    Documentation/software-isp-benchmarking.rst   |  2 ++\n>>>>    Documentation/theme/static/css/theme.css      |  4 ++++\n>>>>    18 files changed, 59 insertions(+), 1 deletion(-)\n>>>>    create mode 100644 Documentation/documentation-contents.rst\n>>>>\n>>>> diff --git a/Documentation/camera-sensor-model.rst b/Documentation/camera-sensor-model.rst\n>>>> index b66c880a..87a25bf4 100644\n>>>> --- a/Documentation/camera-sensor-model.rst\n>>>> +++ b/Documentation/camera-sensor-model.rst\n>>>> @@ -1,5 +1,7 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>>    \n>>>> +.. include:: documentation-contents.rst\n>>>> +\n>>>>    .. _camera-sensor-model:\n>>>>    \n>>>>    .. todo: Move to Doxygen-generated documentation\n>>>> diff --git a/Documentation/code-of-conduct.rst b/Documentation/code-of-conduct.rst\n>>>> index 38b7d7ad..0edd1e99 100644\n>>>> --- a/Documentation/code-of-conduct.rst\n>>>> +++ b/Documentation/code-of-conduct.rst\n>>>> @@ -1,5 +1,7 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-4.0\n>>>>    \n>>>> +.. include:: documentation-contents.rst\n>>>> +\n>>>>    .. _code-of-conduct:\n>>>>    \n>>>>    Contributor Covenant Code of Conduct\n>>> I'm not sure this should be included in the technical documentation as\n>>> such, but we can fine-tune what goes where later.\n>>>\n>>>> diff --git a/Documentation/coding-style.rst b/Documentation/coding-style.rst\n>>>> index 72cb28d2..ae8446bd 100644\n>>>> --- a/Documentation/coding-style.rst\n>>>> +++ b/Documentation/coding-style.rst\n>>>> @@ -1,5 +1,7 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>>    \n>>>> +.. include:: documentation-contents.rst\n>>>> +\n>>>>    .. _coding-style-guidelines:\n>>>>    \n>>>>    Coding Style Guidelines\n>>>> diff --git a/Documentation/conf.py b/Documentation/conf.py\n>>>> index 7eeea7f3..ca817aab 100644\n>>>> --- a/Documentation/conf.py\n>>>> +++ b/Documentation/conf.py\n>>>> @@ -61,7 +61,12 @@ language = 'en'\n>>>>    # List of patterns, relative to source directory, that match files and\n>>>>    # directories to ignore when looking for source files.\n>>>>    # This pattern also affects html_static_path and html_extra_path.\n>>>> -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']\n>>>> +exclude_patterns = [\n>>>> +    '_build',\n>>>> +    'Thumbs.db',\n>>>> +    '.DS_Store',\n>>>> +    'documentation-contents.rst',\n>>>> +    ]\n>>> The closing bracket should be on the first column.\n>>>\n>>>>    \n>>>>    # The name of the Pygments (syntax highlighting) style to use.\n>>>>    pygments_style = None\n>>>> diff --git a/Documentation/docs.rst b/Documentation/docs.rst\n>>>> index a6e8a59a..5871961c 100644\n>>>> --- a/Documentation/docs.rst\n>>>> +++ b/Documentation/docs.rst\n>>>> @@ -3,6 +3,8 @@\n>>>>    .. contents::\n>>>>       :local:\n>>>>    \n>>>> +.. include:: documentation-contents.rst\n>>>> +\n>>>>    *************\n>>>>    Documentation\n>>>>    *************\n>>>> diff --git a/Documentation/documentation-contents.rst b/Documentation/documentation-contents.rst\n>>>> new file mode 100644\n>>>> index 00000000..e9a3846b\n>>>> --- /dev/null\n>>>> +++ b/Documentation/documentation-contents.rst\n>>>> @@ -0,0 +1,20 @@\n>>>> +.. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>> +\n>>>> +.. container:: documentation-nav\n>>>> +\n>>>> +   * :doc:`/api-html/index`\n>>>> +   * :doc:`/camera-sensor-model`\n>>>> +   * :doc:`/code-of-conduct`\n>>>> +   * :doc:`/coding-style`\n>>>> +   * :doc:`/environment_variables`\n>>>> +   * :doc:`/guides/application-developer`\n>>>> +   * :doc:`/guides/introduction`\n>>>> +   * :doc:`/guides/ipa`\n>>>> +   * :doc:`/guides/pipeline-handler`\n>>>> +   * :doc:`/guides/tracing`\n>>>> +   * :doc:`/lens_driver_requirements`\n>>>> +   * :doc:`/python-bindings`\n>>>> +   * :doc:`/sensor_driver_requirements`\n>>>> +   * :doc:`/software-isp-benchmarking`\n>>>> +\n>>>> +.. rst-class:: documentation\n>>> What is this class for ? It doesn't seem to be defined yet, does it\n>>> belong to a different patch in the series ?\n>> Possibly this could have been explained better; adding the\n>> \"documentation\" class to the body of the documentation pages lets us\n>> control them as one through the CSS. Having this setting as the last\n>> line of this file and then including this file in each documentation\n>> file was the simplest way to add it to all of them.\n> I suspected so, but there's no documentation class in the css defined at\n> this point, is there ? That's why I asked if this belong to a different\n> patch.\n\n\nThere's not...and in libcamera won't be, because all of the pages in the libcamera tree are \ndocumentation and so there's no need to handle them differently. It's the website that needs the \nclass to be there - the switch in the CSS to use the documentation class will be done there.\n\n>\n> As for having the class in this file, it's a bit of a hack, but I can\n> live with it.\n>\n>>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>>>\n>>>> diff --git a/Documentation/environment_variables.rst b/Documentation/environment_variables.rst\n>>>> index 4e9fbb27..1478275b 100644\n>>>> --- a/Documentation/environment_variables.rst\n>>>> +++ b/Documentation/environment_variables.rst\n>>>> @@ -1,5 +1,7 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>>    \n>>>> +.. include:: documentation-contents.rst\n>>>> +\n>>>>    Environment variables\n>>>>    =====================\n>>>>    \n>>>> diff --git a/Documentation/getting-started.rst b/Documentation/getting-started.rst\n>>>> index 987f43f7..63b050eb 100644\n>>>> --- a/Documentation/getting-started.rst\n>>>> +++ b/Documentation/getting-started.rst\n>>>> @@ -1,4 +1,5 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>> +\n>>>>    .. Getting started information is defined in the project README file.\n>>>>    .. include:: ../README.rst\n>>>>       :start-after: .. section-begin-getting-started\n>>>> diff --git a/Documentation/guides/application-developer.rst b/Documentation/guides/application-developer.rst\n>>>> index 92e2a373..1ea8c40f 100644\n>>>> --- a/Documentation/guides/application-developer.rst\n>>>> +++ b/Documentation/guides/application-developer.rst\n>>>> @@ -1,5 +1,7 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>>    \n>>>> +.. include:: ../documentation-contents.rst\n>>>> +\n>>>>    Using libcamera in a C++ application\n>>>>    ====================================\n>>>>    \n>>>> diff --git a/Documentation/guides/introduction.rst b/Documentation/guides/introduction.rst\n>>>> index 700ec2d3..8368bd4a 100644\n>>>> --- a/Documentation/guides/introduction.rst\n>>>> +++ b/Documentation/guides/introduction.rst\n>>>> @@ -1,5 +1,7 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>>    \n>>>> +.. include:: ../documentation-contents.rst\n>>>> +\n>>>>    Developers guide to libcamera\n>>>>    =============================\n>>>>    \n>>>> diff --git a/Documentation/guides/ipa.rst b/Documentation/guides/ipa.rst\n>>>> index 25deadef..cd640563 100644\n>>>> --- a/Documentation/guides/ipa.rst\n>>>> +++ b/Documentation/guides/ipa.rst\n>>>> @@ -1,5 +1,7 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>>    \n>>>> +.. include:: ../documentation-contents.rst\n>>>> +\n>>>>    IPA Writer's Guide\n>>>>    ==================\n>>>>    \n>>>> diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst\n>>>> index 7e45cdb8..efa89342 100644\n>>>> --- a/Documentation/guides/pipeline-handler.rst\n>>>> +++ b/Documentation/guides/pipeline-handler.rst\n>>>> @@ -1,5 +1,7 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>>    \n>>>> +.. include:: ../documentation-contents.rst\n>>>> +\n>>>>    Pipeline Handler Writers Guide\n>>>>    ==============================\n>>>>    \n>>>> diff --git a/Documentation/guides/tracing.rst b/Documentation/guides/tracing.rst\n>>>> index ae960d85..537dce50 100644\n>>>> --- a/Documentation/guides/tracing.rst\n>>>> +++ b/Documentation/guides/tracing.rst\n>>>> @@ -1,5 +1,7 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>>    \n>>>> +.. include:: ../documentation-contents.rst\n>>>> +\n>>>>    Tracing Guide\n>>>>    =============\n>>>>    \n>>>> diff --git a/Documentation/lens_driver_requirements.rst b/Documentation/lens_driver_requirements.rst\n>>>> index b96e502d..85fef76f 100644\n>>>> --- a/Documentation/lens_driver_requirements.rst\n>>>> +++ b/Documentation/lens_driver_requirements.rst\n>>>> @@ -1,5 +1,7 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>>    \n>>>> +.. include:: documentation-contents.rst\n>>>> +\n>>>>    .. _lens-driver-requirements:\n>>>>    \n>>>>    Lens Driver Requirements\n>>>> diff --git a/Documentation/python-bindings.rst b/Documentation/python-bindings.rst\n>>>> index ed9f686b..94712238 100644\n>>>> --- a/Documentation/python-bindings.rst\n>>>> +++ b/Documentation/python-bindings.rst\n>>>> @@ -1,5 +1,7 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>>    \n>>>> +.. include:: documentation-contents.rst\n>>>> +\n>>>>    .. _python-bindings:\n>>>>    \n>>>>    Python Bindings for libcamera\n>>>> diff --git a/Documentation/sensor_driver_requirements.rst b/Documentation/sensor_driver_requirements.rst\n>>>> index 0e516b34..fb4269d0 100644\n>>>> --- a/Documentation/sensor_driver_requirements.rst\n>>>> +++ b/Documentation/sensor_driver_requirements.rst\n>>>> @@ -1,5 +1,7 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>>    \n>>>> +.. include:: documentation-contents.rst\n>>>> +\n>>>>    .. _sensor-driver-requirements:\n>>>>    \n>>>>    Sensor Driver Requirements\n>>>> diff --git a/Documentation/software-isp-benchmarking.rst b/Documentation/software-isp-benchmarking.rst\n>>>> index b3033132..9c2a409b 100644\n>>>> --- a/Documentation/software-isp-benchmarking.rst\n>>>> +++ b/Documentation/software-isp-benchmarking.rst\n>>>> @@ -1,5 +1,7 @@\n>>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n>>>>    \n>>>> +.. include:: documentation-contents.rst\n>>>> +\n>>>>    .. _software-isp-benchmarking:\n>>>>    \n>>>>    Software ISP benchmarking\n>>>> diff --git a/Documentation/theme/static/css/theme.css b/Documentation/theme/static/css/theme.css\n>>>> index d4274ea6..2b1ed095 100644\n>>>> --- a/Documentation/theme/static/css/theme.css\n>>>> +++ b/Documentation/theme/static/css/theme.css\n>>>> @@ -289,3 +289,7 @@ div#signature {\n>>>>    \tpadding: 0px;\n>>>>    \tvisibility: hidden;\n>>>>    }\n>>>> +\n>>>> +.documentation-nav {\n>>>> +\tdisplay: none;\n>>>> +}","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id B49B2C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 14 Aug 2024 22:38:30 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A8F90633BD;\n\tThu, 15 Aug 2024 00:38:29 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4871363382\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 15 Aug 2024 00:38:27 +0200 (CEST)","from [192.168.0.43]\n\t(cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 149963A2;\n\tThu, 15 Aug 2024 00:37:28 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"MWvV9NVv\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1723675049;\n\tbh=mOj49OJgGnyQSyPUq/2Bj2fDjbfkItZo1JMUR0Kf2ro=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=MWvV9NVvGz0kUKELIc/NnN736K1iFRTdeeHBCfGISnd1YUfzlIY8DLrvYAoBaO9qy\n\tRT2lpR+uSQNrAx14iIyGBwG5KIwFEMCoABHyeX9K8wZtKJ5PSrsyd9vEiax06ULTr5\n\tFLZMy4SsJZElCwmWsRsjcLnt3bRu6iSHz5fxmbNU=","Message-ID":"<70bd956d-3376-4cbe-b7ea-afcf28de7d0c@ideasonboard.com>","Date":"Wed, 14 Aug 2024 23:38:24 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 1/7] Documentation: Add documentation-contents.rst","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20240809145304.537551-1-dan.scally@ideasonboard.com>\n\t<20240809145304.537551-2-dan.scally@ideasonboard.com>\n\t<20240814221847.GE22567@pendragon.ideasonboard.com>\n\t<5f600729-e3ae-41fc-86ea-f5b051570da1@ideasonboard.com>\n\t<20240814223130.GG22567@pendragon.ideasonboard.com>","Content-Language":"en-US","From":"Dan Scally <dan.scally@ideasonboard.com>","Autocrypt":"addr=dan.scally@ideasonboard.com; keydata=\n\txsFNBGLydlEBEADa5O2s0AbUguprfvXOQun/0a8y2Vk6BqkQALgeD6KnXSWwaoCULp18etYW\n\tB31bfgrdphXQ5kUQibB0ADK8DERB4wrzrUb5CMxLBFE7mQty+v5NsP0OFNK9XTaAOcmD+Ove\n\teIjYvqurAaro91jrRVrS1gBRxIFqyPgNvwwL+alMZhn3/2jU2uvBmuRrgnc/e9cHKiuT3Dtq\n\tMHGPKL2m+plk+7tjMoQFfexoQ1JKugHAjxAhJfrkXh6uS6rc01bYCyo7ybzg53m1HLFJdNGX\n\tsUKR+dQpBs3SY4s66tc1sREJqdYyTsSZf80HjIeJjU/hRunRo4NjRIJwhvnK1GyjOvvuCKVU\n\tRWpY8dNjNu5OeAfdrlvFJOxIE9M8JuYCQTMULqd1NuzbpFMjc9524U3Cngs589T7qUMPb1H1\n\tNTA81LmtJ6Y+IV5/kiTUANflpzBwhu18Ok7kGyCq2a2jsOcVmk8gZNs04gyjuj8JziYwwLbf\n\tvzABwpFVcS8aR+nHIZV1HtOzyw8CsL8OySc3K9y+Y0NRpziMRvutrppzgyMb9V+N31mK9Mxl\n\t1YkgaTl4ciNWpdfUe0yxH03OCuHi3922qhPLF4XX5LN+NaVw5Xz2o3eeWklXdouxwV7QlN33\n\tu4+u2FWzKxDqO6WLQGjxPE0mVB4Gh5Pa1Vb0ct9Ctg0qElvtGQARAQABzShEYW4gU2NhbGx5\n\tIDxkYW4uc2NhbGx5QGlkZWFzb25ib2FyZC5jb20+wsGNBBMBCAA3FiEEsdtt8OWP7+8SNfQe\n\tkiQuh/L+GMQFAmLydlIFCQWjmoACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRCSJC6H8v4YxDI2\n\tEAC2Gz0iyaXJkPInyshrREEWbo0CA6v5KKf3I/HlMPqkZ48bmGoYm4mEQGFWZJAT3K4ir8bg\n\tcEfs9V54gpbrZvdwS4abXbUK4WjKwEs8HK3XJv1WXUN2bsz5oEJWZUImh9gD3naiLLI9QMMm\n\tw/aZkT+NbN5/2KvChRWhdcha7+2Te4foOY66nIM+pw2FZM6zIkInLLUik2zXOhaZtqdeJZQi\n\tHSPU9xu7TRYN4cvdZAnSpG7gQqmLm5/uGZN1/sB3kHTustQtSXKMaIcD/DMNI3JN/t+RJVS7\n\tc0Jh/ThzTmhHyhxx3DRnDIy7kwMI4CFvmhkVC2uNs9kWsj1DuX5kt8513mvfw2OcX9UnNKmZ\n\tnhNCuF6DxVrL8wjOPuIpiEj3V+K7DFF1Cxw1/yrLs8dYdYh8T8vCY2CHBMsqpESROnTazboh\n\tAiQ2xMN1cyXtX11Qwqm5U3sykpLbx2BcmUUUEAKNsM//Zn81QXKG8vOx0ZdMfnzsCaCzt8f6\n\t9dcDBBI3tJ0BI9ByiocqUoL6759LM8qm18x3FYlxvuOs4wSGPfRVaA4yh0pgI+ModVC2Pu3y\n\tejE/IxeatGqJHh6Y+iJzskdi27uFkRixl7YJZvPJAbEn7kzSi98u/5ReEA8Qhc8KO/B7wprj\n\txjNMZNYd0Eth8+WkixHYj752NT5qshKJXcyUU87BTQRi8nZSARAAx0BJayh1Fhwbf4zoY56x\n\txHEpT6DwdTAYAetd3yiKClLVJadYxOpuqyWa1bdfQWPb+h4MeXbWw/53PBgn7gI2EA7ebIRC\n\tPJJhAIkeym7hHZoxqDQTGDJjxFEL11qF+U3rhWiL2Zt0Pl+zFq0eWYYVNiXjsIS4FI2+4m16\n\ttPbDWZFJnSZ828VGtRDQdhXfx3zyVX21lVx1bX4/OZvIET7sVUufkE4hrbqrrufre7wsjD1t\n\t8MQKSapVrr1RltpzPpScdoxknOSBRwOvpp57pJJe5A0L7+WxJ+vQoQXj0j+5tmIWOAV1qBQp\n\thyoyUk9JpPfntk2EKnZHWaApFp5TcL6c5LhUvV7F6XwOjGPuGlZQCWXee9dr7zym8iR3irWT\n\t+49bIh5PMlqSLXJDYbuyFQHFxoiNdVvvf7etvGfqFYVMPVjipqfEQ38ST2nkzx+KBICz7uwj\n\tJwLBdTXzGFKHQNckGMl7F5QdO/35An/QcxBnHVMXqaSd12tkJmoRVWduwuuoFfkTY5mUV3uX\n\txGj3iVCK4V+ezOYA7c2YolfRCNMTza6vcK/P4tDjjsyBBZrCCzhBvd4VVsnnlZhVaIxoky4K\n\taL+AP+zcQrUZmXmgZjXOLryGnsaeoVrIFyrU6ly90s1y3KLoPsDaTBMtnOdwxPmo1xisH8oL\n\ta/VRgpFBfojLPxMAEQEAAcLBfAQYAQgAJhYhBLHbbfDlj+/vEjX0HpIkLofy/hjEBQJi8nZT\n\tBQkFo5qAAhsMAAoJEJIkLofy/hjEXPcQAMIPNqiWiz/HKu9W4QIf1OMUpKn3YkVIj3p3gvfM\n\tRes4fGX94Ji599uLNrPoxKyaytC4R6BTxVriTJjWK8mbo9jZIRM4vkwkZZ2bu98EweSucxbp\n\tvjESsvMXGgxniqV/RQ/3T7LABYRoIUutARYq58p5HwSP0frF0fdFHYdTa2g7MYZl1ur2JzOC\n\tFHRpGadlNzKDE3fEdoMobxHB3Lm6FDml5GyBAA8+dQYVI0oDwJ3gpZPZ0J5Vx9RbqXe8RDuR\n\tdu90hvCJkq7/tzSQ0GeD3BwXb9/R/A4dVXhaDd91Q1qQXidI+2jwhx8iqiYxbT+DoAUkQRQy\n\txBtoCM1CxH7u45URUgD//fxYr3D4B1SlonA6vdaEdHZOGwECnDpTxecENMbz/Bx7qfrmd901\n\tD+N9SjIwrbVhhSyUXYnSUb8F+9g2RDY42Sk7GcYxIeON4VzKqWM7hpkXZ47pkK0YodO+dRKM\n\tyMcoUWrTK0Uz6UzUGKoJVbxmSW/EJLEGoI5p3NWxWtScEVv8mO49gqQdrRIOheZycDmHnItt\n\t9Qjv00uFhEwv2YfiyGk6iGF2W40s2pH2t6oeuGgmiZ7g6d0MEK8Ql/4zPItvr1c1rpwpXUC1\n\tu1kQWgtnNjFHX3KiYdqjcZeRBiry1X0zY+4Y24wUU0KsEewJwjhmCKAsju1RpdlPg2kC","In-Reply-To":"<20240814223130.GG22567@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":30821,"web_url":"https://patchwork.libcamera.org/comment/30821/","msgid":"<20240814224811.GA28986@pendragon.ideasonboard.com>","date":"2024-08-14T22:48:11","subject":"Re: [PATCH 1/7] Documentation: Add documentation-contents.rst","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Wed, Aug 14, 2024 at 11:38:24PM +0100, Daniel Scally wrote:\n> On 14/08/2024 23:31, Laurent Pinchart wrote:\n> > On Wed, Aug 14, 2024 at 11:22:53PM +0100, Daniel Scally wrote:\n> >> On 14/08/2024 23:18, Laurent Pinchart wrote:\n> >>> On Fri, Aug 09, 2024 at 03:52:58PM +0100, Daniel Scally wrote:\n> >>>> Add a new .rst file referencing the documentation contents. This file\n> >>>> is then included in each documentation page so that we can enhance\n> >>>> the Documentation pages on the libcamera website using it. As we do\n> >>>> not want the appearance of the libcamera in-tree Documentation to\n> >>>> change just yet, disable the new class using the sphinx theme's CSS.\n> >>>>\n> >>>> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n> >>>> ---\n> >>>>    Documentation/camera-sensor-model.rst         |  2 ++\n> >>>>    Documentation/code-of-conduct.rst             |  2 ++\n> >>>>    Documentation/coding-style.rst                |  2 ++\n> >>>>    Documentation/conf.py                         |  7 ++++++-\n> >>>>    Documentation/docs.rst                        |  2 ++\n> >>>>    Documentation/documentation-contents.rst      | 20 +++++++++++++++++++\n> >>>>    Documentation/environment_variables.rst       |  2 ++\n> >>>>    Documentation/getting-started.rst             |  1 +\n> >>>>    .../guides/application-developer.rst          |  2 ++\n> >>>>    Documentation/guides/introduction.rst         |  2 ++\n> >>>>    Documentation/guides/ipa.rst                  |  2 ++\n> >>>>    Documentation/guides/pipeline-handler.rst     |  2 ++\n> >>>>    Documentation/guides/tracing.rst              |  2 ++\n> >>>>    Documentation/lens_driver_requirements.rst    |  2 ++\n> >>>>    Documentation/python-bindings.rst             |  2 ++\n> >>>>    Documentation/sensor_driver_requirements.rst  |  2 ++\n> >>>>    Documentation/software-isp-benchmarking.rst   |  2 ++\n> >>>>    Documentation/theme/static/css/theme.css      |  4 ++++\n> >>>>    18 files changed, 59 insertions(+), 1 deletion(-)\n> >>>>    create mode 100644 Documentation/documentation-contents.rst\n> >>>>\n> >>>> diff --git a/Documentation/camera-sensor-model.rst b/Documentation/camera-sensor-model.rst\n> >>>> index b66c880a..87a25bf4 100644\n> >>>> --- a/Documentation/camera-sensor-model.rst\n> >>>> +++ b/Documentation/camera-sensor-model.rst\n> >>>> @@ -1,5 +1,7 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>>    \n> >>>> +.. include:: documentation-contents.rst\n> >>>> +\n> >>>>    .. _camera-sensor-model:\n> >>>>    \n> >>>>    .. todo: Move to Doxygen-generated documentation\n> >>>> diff --git a/Documentation/code-of-conduct.rst b/Documentation/code-of-conduct.rst\n> >>>> index 38b7d7ad..0edd1e99 100644\n> >>>> --- a/Documentation/code-of-conduct.rst\n> >>>> +++ b/Documentation/code-of-conduct.rst\n> >>>> @@ -1,5 +1,7 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-4.0\n> >>>>    \n> >>>> +.. include:: documentation-contents.rst\n> >>>> +\n> >>>>    .. _code-of-conduct:\n> >>>>    \n> >>>>    Contributor Covenant Code of Conduct\n> >>> I'm not sure this should be included in the technical documentation as\n> >>> such, but we can fine-tune what goes where later.\n> >>>\n> >>>> diff --git a/Documentation/coding-style.rst b/Documentation/coding-style.rst\n> >>>> index 72cb28d2..ae8446bd 100644\n> >>>> --- a/Documentation/coding-style.rst\n> >>>> +++ b/Documentation/coding-style.rst\n> >>>> @@ -1,5 +1,7 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>>    \n> >>>> +.. include:: documentation-contents.rst\n> >>>> +\n> >>>>    .. _coding-style-guidelines:\n> >>>>    \n> >>>>    Coding Style Guidelines\n> >>>> diff --git a/Documentation/conf.py b/Documentation/conf.py\n> >>>> index 7eeea7f3..ca817aab 100644\n> >>>> --- a/Documentation/conf.py\n> >>>> +++ b/Documentation/conf.py\n> >>>> @@ -61,7 +61,12 @@ language = 'en'\n> >>>>    # List of patterns, relative to source directory, that match files and\n> >>>>    # directories to ignore when looking for source files.\n> >>>>    # This pattern also affects html_static_path and html_extra_path.\n> >>>> -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']\n> >>>> +exclude_patterns = [\n> >>>> +    '_build',\n> >>>> +    'Thumbs.db',\n> >>>> +    '.DS_Store',\n> >>>> +    'documentation-contents.rst',\n> >>>> +    ]\n> >>> The closing bracket should be on the first column.\n> >>>\n> >>>>    \n> >>>>    # The name of the Pygments (syntax highlighting) style to use.\n> >>>>    pygments_style = None\n> >>>> diff --git a/Documentation/docs.rst b/Documentation/docs.rst\n> >>>> index a6e8a59a..5871961c 100644\n> >>>> --- a/Documentation/docs.rst\n> >>>> +++ b/Documentation/docs.rst\n> >>>> @@ -3,6 +3,8 @@\n> >>>>    .. contents::\n> >>>>       :local:\n> >>>>    \n> >>>> +.. include:: documentation-contents.rst\n> >>>> +\n> >>>>    *************\n> >>>>    Documentation\n> >>>>    *************\n> >>>> diff --git a/Documentation/documentation-contents.rst b/Documentation/documentation-contents.rst\n> >>>> new file mode 100644\n> >>>> index 00000000..e9a3846b\n> >>>> --- /dev/null\n> >>>> +++ b/Documentation/documentation-contents.rst\n> >>>> @@ -0,0 +1,20 @@\n> >>>> +.. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>> +\n> >>>> +.. container:: documentation-nav\n> >>>> +\n> >>>> +   * :doc:`/api-html/index`\n> >>>> +   * :doc:`/camera-sensor-model`\n> >>>> +   * :doc:`/code-of-conduct`\n> >>>> +   * :doc:`/coding-style`\n> >>>> +   * :doc:`/environment_variables`\n> >>>> +   * :doc:`/guides/application-developer`\n> >>>> +   * :doc:`/guides/introduction`\n> >>>> +   * :doc:`/guides/ipa`\n> >>>> +   * :doc:`/guides/pipeline-handler`\n> >>>> +   * :doc:`/guides/tracing`\n> >>>> +   * :doc:`/lens_driver_requirements`\n> >>>> +   * :doc:`/python-bindings`\n> >>>> +   * :doc:`/sensor_driver_requirements`\n> >>>> +   * :doc:`/software-isp-benchmarking`\n> >>>> +\n> >>>> +.. rst-class:: documentation\n> >>>\n> >>> What is this class for ? It doesn't seem to be defined yet, does it\n> >>> belong to a different patch in the series ?\n> >>\n> >> Possibly this could have been explained better; adding the\n> >> \"documentation\" class to the body of the documentation pages lets us\n> >> control them as one through the CSS. Having this setting as the last\n> >> line of this file and then including this file in each documentation\n> >> file was the simplest way to add it to all of them.\n> >\n> > I suspected so, but there's no documentation class in the css defined at\n> > this point, is there ? That's why I asked if this belong to a different\n> > patch.\n>\n> There's not...and in libcamera won't be, because all of the pages in the libcamera tree are \n> documentation and so there's no need to handle them differently. It's the website that needs the \n> class to be there - the switch in the CSS to use the documentation class will be done there.\n\nGotcha. Could you add a comment here to explain that, to make sure the\ndirective won't be removed by someone who thinks it's unused ? An\nexplanation in the commit message could be useful too. You could still\nsplit it to a patch of its own to make it clearer, up to you.\n\n> > As for having the class in this file, it's a bit of a hack, but I can\n> > live with it.\n> >\n> >>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> >>>\n> >>>> diff --git a/Documentation/environment_variables.rst b/Documentation/environment_variables.rst\n> >>>> index 4e9fbb27..1478275b 100644\n> >>>> --- a/Documentation/environment_variables.rst\n> >>>> +++ b/Documentation/environment_variables.rst\n> >>>> @@ -1,5 +1,7 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>>    \n> >>>> +.. include:: documentation-contents.rst\n> >>>> +\n> >>>>    Environment variables\n> >>>>    =====================\n> >>>>    \n> >>>> diff --git a/Documentation/getting-started.rst b/Documentation/getting-started.rst\n> >>>> index 987f43f7..63b050eb 100644\n> >>>> --- a/Documentation/getting-started.rst\n> >>>> +++ b/Documentation/getting-started.rst\n> >>>> @@ -1,4 +1,5 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>> +\n> >>>>    .. Getting started information is defined in the project README file.\n> >>>>    .. include:: ../README.rst\n> >>>>       :start-after: .. section-begin-getting-started\n> >>>> diff --git a/Documentation/guides/application-developer.rst b/Documentation/guides/application-developer.rst\n> >>>> index 92e2a373..1ea8c40f 100644\n> >>>> --- a/Documentation/guides/application-developer.rst\n> >>>> +++ b/Documentation/guides/application-developer.rst\n> >>>> @@ -1,5 +1,7 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>>    \n> >>>> +.. include:: ../documentation-contents.rst\n> >>>> +\n> >>>>    Using libcamera in a C++ application\n> >>>>    ====================================\n> >>>>    \n> >>>> diff --git a/Documentation/guides/introduction.rst b/Documentation/guides/introduction.rst\n> >>>> index 700ec2d3..8368bd4a 100644\n> >>>> --- a/Documentation/guides/introduction.rst\n> >>>> +++ b/Documentation/guides/introduction.rst\n> >>>> @@ -1,5 +1,7 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>>    \n> >>>> +.. include:: ../documentation-contents.rst\n> >>>> +\n> >>>>    Developers guide to libcamera\n> >>>>    =============================\n> >>>>    \n> >>>> diff --git a/Documentation/guides/ipa.rst b/Documentation/guides/ipa.rst\n> >>>> index 25deadef..cd640563 100644\n> >>>> --- a/Documentation/guides/ipa.rst\n> >>>> +++ b/Documentation/guides/ipa.rst\n> >>>> @@ -1,5 +1,7 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>>    \n> >>>> +.. include:: ../documentation-contents.rst\n> >>>> +\n> >>>>    IPA Writer's Guide\n> >>>>    ==================\n> >>>>    \n> >>>> diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst\n> >>>> index 7e45cdb8..efa89342 100644\n> >>>> --- a/Documentation/guides/pipeline-handler.rst\n> >>>> +++ b/Documentation/guides/pipeline-handler.rst\n> >>>> @@ -1,5 +1,7 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>>    \n> >>>> +.. include:: ../documentation-contents.rst\n> >>>> +\n> >>>>    Pipeline Handler Writers Guide\n> >>>>    ==============================\n> >>>>    \n> >>>> diff --git a/Documentation/guides/tracing.rst b/Documentation/guides/tracing.rst\n> >>>> index ae960d85..537dce50 100644\n> >>>> --- a/Documentation/guides/tracing.rst\n> >>>> +++ b/Documentation/guides/tracing.rst\n> >>>> @@ -1,5 +1,7 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>>    \n> >>>> +.. include:: ../documentation-contents.rst\n> >>>> +\n> >>>>    Tracing Guide\n> >>>>    =============\n> >>>>    \n> >>>> diff --git a/Documentation/lens_driver_requirements.rst b/Documentation/lens_driver_requirements.rst\n> >>>> index b96e502d..85fef76f 100644\n> >>>> --- a/Documentation/lens_driver_requirements.rst\n> >>>> +++ b/Documentation/lens_driver_requirements.rst\n> >>>> @@ -1,5 +1,7 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>>    \n> >>>> +.. include:: documentation-contents.rst\n> >>>> +\n> >>>>    .. _lens-driver-requirements:\n> >>>>    \n> >>>>    Lens Driver Requirements\n> >>>> diff --git a/Documentation/python-bindings.rst b/Documentation/python-bindings.rst\n> >>>> index ed9f686b..94712238 100644\n> >>>> --- a/Documentation/python-bindings.rst\n> >>>> +++ b/Documentation/python-bindings.rst\n> >>>> @@ -1,5 +1,7 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>>    \n> >>>> +.. include:: documentation-contents.rst\n> >>>> +\n> >>>>    .. _python-bindings:\n> >>>>    \n> >>>>    Python Bindings for libcamera\n> >>>> diff --git a/Documentation/sensor_driver_requirements.rst b/Documentation/sensor_driver_requirements.rst\n> >>>> index 0e516b34..fb4269d0 100644\n> >>>> --- a/Documentation/sensor_driver_requirements.rst\n> >>>> +++ b/Documentation/sensor_driver_requirements.rst\n> >>>> @@ -1,5 +1,7 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>>    \n> >>>> +.. include:: documentation-contents.rst\n> >>>> +\n> >>>>    .. _sensor-driver-requirements:\n> >>>>    \n> >>>>    Sensor Driver Requirements\n> >>>> diff --git a/Documentation/software-isp-benchmarking.rst b/Documentation/software-isp-benchmarking.rst\n> >>>> index b3033132..9c2a409b 100644\n> >>>> --- a/Documentation/software-isp-benchmarking.rst\n> >>>> +++ b/Documentation/software-isp-benchmarking.rst\n> >>>> @@ -1,5 +1,7 @@\n> >>>>    .. SPDX-License-Identifier: CC-BY-SA-4.0\n> >>>>    \n> >>>> +.. include:: documentation-contents.rst\n> >>>> +\n> >>>>    .. _software-isp-benchmarking:\n> >>>>    \n> >>>>    Software ISP benchmarking\n> >>>> diff --git a/Documentation/theme/static/css/theme.css b/Documentation/theme/static/css/theme.css\n> >>>> index d4274ea6..2b1ed095 100644\n> >>>> --- a/Documentation/theme/static/css/theme.css\n> >>>> +++ b/Documentation/theme/static/css/theme.css\n> >>>> @@ -289,3 +289,7 @@ div#signature {\n> >>>>    \tpadding: 0px;\n> >>>>    \tvisibility: hidden;\n> >>>>    }\n> >>>> +\n> >>>> +.documentation-nav {\n> >>>> +\tdisplay: none;\n> >>>> +}","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 60E3DBDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 14 Aug 2024 22:48:40 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 50439633BE;\n\tThu, 15 Aug 2024 00:48:39 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EF4D263382\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 15 Aug 2024 00:48:37 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id A27243A2;\n\tThu, 15 Aug 2024 00:47:39 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"taqIQy1o\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1723675659;\n\tbh=TuRvcj+FZfYurnYpoleJpjsdZ50/DbTL5TiDVtoBpyA=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=taqIQy1oRByqdhpxlzDdVhzL1Rb2JwSmB8+CEC6/I7dLc60uA9SwJcAWpI+htl3ZP\n\tQZm8vmMfXqr6cwIrpXsod4OABu0PmvAgzPntBBRQq1G0/yM+p9LuV85AfttIoVVZAl\n\tzzlviBgkgyfRzPnohdh2GwswHvUyWKpg+k9ESjlU=","Date":"Thu, 15 Aug 2024 01:48:11 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Dan Scally <dan.scally@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH 1/7] Documentation: Add documentation-contents.rst","Message-ID":"<20240814224811.GA28986@pendragon.ideasonboard.com>","References":"<20240809145304.537551-1-dan.scally@ideasonboard.com>\n\t<20240809145304.537551-2-dan.scally@ideasonboard.com>\n\t<20240814221847.GE22567@pendragon.ideasonboard.com>\n\t<5f600729-e3ae-41fc-86ea-f5b051570da1@ideasonboard.com>\n\t<20240814223130.GG22567@pendragon.ideasonboard.com>\n\t<70bd956d-3376-4cbe-b7ea-afcf28de7d0c@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<70bd956d-3376-4cbe-b7ea-afcf28de7d0c@ideasonboard.com>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":30822,"web_url":"https://patchwork.libcamera.org/comment/30822/","msgid":"<20240815000813.GA2166@pendragon.ideasonboard.com>","date":"2024-08-15T00:08:13","subject":"Re: [PATCH 1/7] Documentation: Add documentation-contents.rst","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Fri, Aug 09, 2024 at 03:52:58PM +0100, Daniel Scally wrote:\n> Add a new .rst file referencing the documentation contents. This file\n> is then included in each documentation page so that we can enhance\n> the Documentation pages on the libcamera website using it. As we do\n> not want the appearance of the libcamera in-tree Documentation to\n> change just yet, disable the new class using the sphinx theme's CSS.\n> \n> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n> ---\n>  Documentation/camera-sensor-model.rst         |  2 ++\n>  Documentation/code-of-conduct.rst             |  2 ++\n>  Documentation/coding-style.rst                |  2 ++\n>  Documentation/conf.py                         |  7 ++++++-\n>  Documentation/docs.rst                        |  2 ++\n>  Documentation/documentation-contents.rst      | 20 +++++++++++++++++++\n>  Documentation/environment_variables.rst       |  2 ++\n>  Documentation/getting-started.rst             |  1 +\n>  .../guides/application-developer.rst          |  2 ++\n>  Documentation/guides/introduction.rst         |  2 ++\n>  Documentation/guides/ipa.rst                  |  2 ++\n>  Documentation/guides/pipeline-handler.rst     |  2 ++\n>  Documentation/guides/tracing.rst              |  2 ++\n>  Documentation/lens_driver_requirements.rst    |  2 ++\n>  Documentation/python-bindings.rst             |  2 ++\n>  Documentation/sensor_driver_requirements.rst  |  2 ++\n>  Documentation/software-isp-benchmarking.rst   |  2 ++\n>  Documentation/theme/static/css/theme.css      |  4 ++++\n>  18 files changed, 59 insertions(+), 1 deletion(-)\n>  create mode 100644 Documentation/documentation-contents.rst\n\nThis file needs to be added to docs_sources in\nDocumentation/meson.build. Same for any other file added in subsequent\npatches. Files that you delete need to be removed from the array.\n\n> diff --git a/Documentation/camera-sensor-model.rst b/Documentation/camera-sensor-model.rst\n> index b66c880a..87a25bf4 100644\n> --- a/Documentation/camera-sensor-model.rst\n> +++ b/Documentation/camera-sensor-model.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _camera-sensor-model:\n>  \n>  .. todo: Move to Doxygen-generated documentation\n> diff --git a/Documentation/code-of-conduct.rst b/Documentation/code-of-conduct.rst\n> index 38b7d7ad..0edd1e99 100644\n> --- a/Documentation/code-of-conduct.rst\n> +++ b/Documentation/code-of-conduct.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _code-of-conduct:\n>  \n>  Contributor Covenant Code of Conduct\n> diff --git a/Documentation/coding-style.rst b/Documentation/coding-style.rst\n> index 72cb28d2..ae8446bd 100644\n> --- a/Documentation/coding-style.rst\n> +++ b/Documentation/coding-style.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _coding-style-guidelines:\n>  \n>  Coding Style Guidelines\n> diff --git a/Documentation/conf.py b/Documentation/conf.py\n> index 7eeea7f3..ca817aab 100644\n> --- a/Documentation/conf.py\n> +++ b/Documentation/conf.py\n> @@ -61,7 +61,12 @@ language = 'en'\n>  # List of patterns, relative to source directory, that match files and\n>  # directories to ignore when looking for source files.\n>  # This pattern also affects html_static_path and html_extra_path.\n> -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']\n> +exclude_patterns = [\n> +    '_build',\n> +    'Thumbs.db',\n> +    '.DS_Store',\n> +    'documentation-contents.rst',\n> +    ]\n>  \n>  # The name of the Pygments (syntax highlighting) style to use.\n>  pygments_style = None\n> diff --git a/Documentation/docs.rst b/Documentation/docs.rst\n> index a6e8a59a..5871961c 100644\n> --- a/Documentation/docs.rst\n> +++ b/Documentation/docs.rst\n> @@ -3,6 +3,8 @@\n>  .. contents::\n>     :local:\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  *************\n>  Documentation\n>  *************\n> diff --git a/Documentation/documentation-contents.rst b/Documentation/documentation-contents.rst\n> new file mode 100644\n> index 00000000..e9a3846b\n> --- /dev/null\n> +++ b/Documentation/documentation-contents.rst\n> @@ -0,0 +1,20 @@\n> +.. SPDX-License-Identifier: CC-BY-SA-4.0\n> +\n> +.. container:: documentation-nav\n> +\n> +   * :doc:`/api-html/index`\n> +   * :doc:`/camera-sensor-model`\n> +   * :doc:`/code-of-conduct`\n> +   * :doc:`/coding-style`\n> +   * :doc:`/environment_variables`\n> +   * :doc:`/guides/application-developer`\n> +   * :doc:`/guides/introduction`\n> +   * :doc:`/guides/ipa`\n> +   * :doc:`/guides/pipeline-handler`\n> +   * :doc:`/guides/tracing`\n> +   * :doc:`/lens_driver_requirements`\n> +   * :doc:`/python-bindings`\n> +   * :doc:`/sensor_driver_requirements`\n> +   * :doc:`/software-isp-benchmarking`\n> +\n> +.. rst-class:: documentation\n> diff --git a/Documentation/environment_variables.rst b/Documentation/environment_variables.rst\n> index 4e9fbb27..1478275b 100644\n> --- a/Documentation/environment_variables.rst\n> +++ b/Documentation/environment_variables.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  Environment variables\n>  =====================\n>  \n> diff --git a/Documentation/getting-started.rst b/Documentation/getting-started.rst\n> index 987f43f7..63b050eb 100644\n> --- a/Documentation/getting-started.rst\n> +++ b/Documentation/getting-started.rst\n> @@ -1,4 +1,5 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n> +\n>  .. Getting started information is defined in the project README file.\n>  .. include:: ../README.rst\n>     :start-after: .. section-begin-getting-started\n> diff --git a/Documentation/guides/application-developer.rst b/Documentation/guides/application-developer.rst\n> index 92e2a373..1ea8c40f 100644\n> --- a/Documentation/guides/application-developer.rst\n> +++ b/Documentation/guides/application-developer.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: ../documentation-contents.rst\n> +\n>  Using libcamera in a C++ application\n>  ====================================\n>  \n> diff --git a/Documentation/guides/introduction.rst b/Documentation/guides/introduction.rst\n> index 700ec2d3..8368bd4a 100644\n> --- a/Documentation/guides/introduction.rst\n> +++ b/Documentation/guides/introduction.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: ../documentation-contents.rst\n> +\n>  Developers guide to libcamera\n>  =============================\n>  \n> diff --git a/Documentation/guides/ipa.rst b/Documentation/guides/ipa.rst\n> index 25deadef..cd640563 100644\n> --- a/Documentation/guides/ipa.rst\n> +++ b/Documentation/guides/ipa.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: ../documentation-contents.rst\n> +\n>  IPA Writer's Guide\n>  ==================\n>  \n> diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst\n> index 7e45cdb8..efa89342 100644\n> --- a/Documentation/guides/pipeline-handler.rst\n> +++ b/Documentation/guides/pipeline-handler.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: ../documentation-contents.rst\n> +\n>  Pipeline Handler Writers Guide\n>  ==============================\n>  \n> diff --git a/Documentation/guides/tracing.rst b/Documentation/guides/tracing.rst\n> index ae960d85..537dce50 100644\n> --- a/Documentation/guides/tracing.rst\n> +++ b/Documentation/guides/tracing.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: ../documentation-contents.rst\n> +\n>  Tracing Guide\n>  =============\n>  \n> diff --git a/Documentation/lens_driver_requirements.rst b/Documentation/lens_driver_requirements.rst\n> index b96e502d..85fef76f 100644\n> --- a/Documentation/lens_driver_requirements.rst\n> +++ b/Documentation/lens_driver_requirements.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _lens-driver-requirements:\n>  \n>  Lens Driver Requirements\n> diff --git a/Documentation/python-bindings.rst b/Documentation/python-bindings.rst\n> index ed9f686b..94712238 100644\n> --- a/Documentation/python-bindings.rst\n> +++ b/Documentation/python-bindings.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _python-bindings:\n>  \n>  Python Bindings for libcamera\n> diff --git a/Documentation/sensor_driver_requirements.rst b/Documentation/sensor_driver_requirements.rst\n> index 0e516b34..fb4269d0 100644\n> --- a/Documentation/sensor_driver_requirements.rst\n> +++ b/Documentation/sensor_driver_requirements.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _sensor-driver-requirements:\n>  \n>  Sensor Driver Requirements\n> diff --git a/Documentation/software-isp-benchmarking.rst b/Documentation/software-isp-benchmarking.rst\n> index b3033132..9c2a409b 100644\n> --- a/Documentation/software-isp-benchmarking.rst\n> +++ b/Documentation/software-isp-benchmarking.rst\n> @@ -1,5 +1,7 @@\n>  .. SPDX-License-Identifier: CC-BY-SA-4.0\n>  \n> +.. include:: documentation-contents.rst\n> +\n>  .. _software-isp-benchmarking:\n>  \n>  Software ISP benchmarking\n> diff --git a/Documentation/theme/static/css/theme.css b/Documentation/theme/static/css/theme.css\n> index d4274ea6..2b1ed095 100644\n> --- a/Documentation/theme/static/css/theme.css\n> +++ b/Documentation/theme/static/css/theme.css\n> @@ -289,3 +289,7 @@ div#signature {\n>  \tpadding: 0px;\n>  \tvisibility: hidden;\n>  }\n> +\n> +.documentation-nav {\n> +\tdisplay: none;\n> +}","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 59B04C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 15 Aug 2024 00:08:42 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D8F49633BD;\n\tThu, 15 Aug 2024 02:08:40 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 50D4963382\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 15 Aug 2024 02:08:39 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 0947AAD8;\n\tThu, 15 Aug 2024 02:07:40 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"THREdVSl\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1723680461;\n\tbh=W3UuSr0KLcVc+vZYNUBEUPlidwQCjLjmSPdW32YXyGY=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=THREdVSl8iFSWJYUHGaTxB6ziIFbjhP0KOcmt+kB4ufjAPy1ubhIUDb43yCN8uzvt\n\tW5E304CeV1jnzcYPdfQgZRJqvTV+zo6qNjANUMTC48KTtHBIro+HMSidwpAVjrJCN3\n\tAUJ1y3AQfgn3aecmfWR9F6SQezUf+epryZqlCLmU=","Date":"Thu, 15 Aug 2024 03:08:13 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Daniel Scally <dan.scally@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH 1/7] Documentation: Add documentation-contents.rst","Message-ID":"<20240815000813.GA2166@pendragon.ideasonboard.com>","References":"<20240809145304.537551-1-dan.scally@ideasonboard.com>\n\t<20240809145304.537551-2-dan.scally@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20240809145304.537551-2-dan.scally@ideasonboard.com>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]