From: Kent Gibson <warthog618@gmail.com>
To: linux-gpio@vger.kernel.org, brgl@bgdev.pl
Cc: Kent Gibson <warthog618@gmail.com>
Subject: [libgpiod][PATCH] doc: add configuration to generate doxygen documentation on readthedocs.
Date: Sat, 5 Mar 2022 17:40:37 +0800 [thread overview]
Message-ID: <20220305094037.46361-1-warthog618@gmail.com> (raw)
Having the libgpiod documentation available online would be helpful, so
add the configuration required to generate the existing doxygen C/C++
documentation on readthedocs.
Signed-off-by: Kent Gibson <warthog618@gmail.com>
---
This is intended to be a minimal change that can be applied to both
master and v1.6.x and have zero impact on existing builds.
It has been tested on RTD using the current v1.6.3 release[1].
The approach used here is to replace any Sphinx documentation generated
by RTD with the doxygen documentation.
A subsequent patch for v2 can switch to using Breathe/Sphinx to include
the documentation for the Python bindings as well. And relocate the
Sphinx configuration into the doc directory.
Cheers,
Kent.
[1] https://libgpiod.readthedocs.io/en/latest/
.readthedocs.yaml | 29 ++++++++++++++++++++
sphinx/conf.py | 70 +++++++++++++++++++++++++++++++++++++++++++++++
sphinx/index.rst | 24 ++++++++++++++++
3 files changed, 123 insertions(+)
create mode 100644 .readthedocs.yaml
create mode 100644 sphinx/conf.py
create mode 100644 sphinx/index.rst
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
new file mode 100644
index 0000000..976496c
--- /dev/null
+++ b/.readthedocs.yaml
@@ -0,0 +1,29 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+#
+# This file is part of libgpiod.
+#
+# Copyright (C) 2022 Bartosz Golaszewski <bartekgola@gmail.com>
+#
+# Read the Docs configuration file
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+
+version: 2
+
+build:
+ os: ubuntu-20.04
+ tools:
+ python: "3.9"
+ # doxygen is available by default, but just in case.
+ # others are definitely missing.
+ apt_packages:
+ - autoconf
+ - autoconf-archive
+ - libtool
+ - m4
+ - doxygen
+ - graphviz
+
+sphinx:
+ configuration: sphinx/conf.py
+
diff --git a/sphinx/conf.py b/sphinx/conf.py
new file mode 100644
index 0000000..7022ff9
--- /dev/null
+++ b/sphinx/conf.py
@@ -0,0 +1,70 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+#
+# This file is part of libgpiod.
+#
+# Copyright (C) 2022 Bartosz Golaszewski <bartekgola@gmail.com>
+#
+# Configuration file for the Sphinx documentation builder.
+#
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+import subprocess
+
+subprocess.run('cd .. ; ./autogen.sh ; make doc', shell=True)
+
+# -- Path setup --------------------------------------------------------------
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+# import os
+# import sys
+# sys.path.insert(0, os.path.abspath('.'))
+
+
+# -- Project information -----------------------------------------------------
+
+project = 'libgpiod'
+copyright = '2022, Bartosz Golaszewski'
+author = 'Bartosz Golaszewski'
+
+# The full version, including alpha/beta/rc tags
+release = subprocess.run(
+ ['git', 'describe', '--dirty'],
+ capture_output=True).stdout.decode().strip()
+
+# -- General configuration ---------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = []
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path.
+exclude_patterns = []
+
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+#
+html_theme = 'alabaster'
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = []
+
+html_extra_path = ['../doc/html']
+
diff --git a/sphinx/index.rst b/sphinx/index.rst
new file mode 100644
index 0000000..e38fad7
--- /dev/null
+++ b/sphinx/index.rst
@@ -0,0 +1,24 @@
+.. SPDX-License-Identifier: LGPL-2.1-or-later
+
+..
+ This file is part of libgpiod.
+
+ Copyright (C) 2022 Bartosz Golaszewski <bartekgola@gmail.com>
+
+ libgpiod documentation master file.
+
+Welcome to libgpiod's documentation!
+====================================
+
+.. toctree::
+ :maxdepth: 2
+ :caption: Contents:
+
+
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
--
2.35.1
next reply other threads:[~2022-03-05 9:40 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-05 9:40 Kent Gibson [this message]
2022-03-07 9:16 ` [libgpiod][PATCH] doc: add configuration to generate doxygen documentation on readthedocs Bartosz Golaszewski
2022-03-07 9:30 ` Kent Gibson
-- strict thread matches above, loose matches on Subject: below --
2023-06-10 2:01 Kent Gibson
2023-06-10 5:20 ` kernel test robot
2023-06-10 5:43 ` Kent Gibson
2023-06-12 12:58 ` Bartosz Golaszewski
2023-06-12 13:40 ` Philip Li
2023-06-10 5:42 ` kernel test robot
2023-06-12 16:27 ` Bartosz Golaszewski
2023-06-12 16:40 ` Kent Gibson
2023-06-12 17:30 ` Bartosz Golaszewski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220305094037.46361-1-warthog618@gmail.com \
--to=warthog618@gmail.com \
--cc=brgl@bgdev.pl \
--cc=linux-gpio@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).