Having the libgpiod documentation available online would be helpful, so add the configuration required to generate the existing docygen C/C++ documentation on readthedocs. Signed-off-by: Kent Gibson <warthog618@xxxxxxxxx> --- Changes v1 -> v2: - update copyright headers to be reuse compliant. - update to contemporary rtd build environment .readthedocs.yaml | 28 +++++++++++++++++++ sphinx/conf.py | 69 +++++++++++++++++++++++++++++++++++++++++++++++ sphinx/index.rst | 24 +++++++++++++++++ 3 files changed, 121 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..f62273e --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,28 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later +# SPDX-FileCopyrightText: 2022 Kent Gibson <warthog618@xxxxxxxxx> + +# +# This file is part of libgpiod. +# +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +version: 2 + +build: + os: ubuntu-22.04 + tools: + python: "3.11" + # 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..b21ddab --- /dev/null +++ b/sphinx/conf.py @@ -0,0 +1,69 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later +# SPDX-FileCopyrightText: 2022 Kent Gibson <warthog618@xxxxxxxxx> + +# +# This file is part of libgpiod. +# +# 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..c26d068 --- /dev/null +++ b/sphinx/index.rst @@ -0,0 +1,24 @@ +.. + SPDX-License-Identifier: LGPL-2.1-or-later + SPDX-FileCopyrightText: 2022 Kent Gibson <warthog618@xxxxxxxxx> + +.. + This file is part of libgpiod. + + libgpiod documentation master file. + +Welcome to libgpiod's documentation! +==================================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` -- 2.40.1