From 198d103896e1f2a1620fa5fd506534dee20953f1 Mon Sep 17 00:00:00 2001 From: Goffi Date: Thu, 29 Jul 2021 22:51:01 +0200 Subject: [PATCH] doc: activate `autodoc` extension + extension to adapt Libervia docstring style to autodoc --- doc/_ext/__init__.py | 0 doc/_ext/docstring.py | 19 +++++++++++++++++++ doc/conf.py | 10 +++++++--- 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 doc/_ext/__init__.py create mode 100644 doc/_ext/docstring.py diff --git a/doc/_ext/__init__.py b/doc/_ext/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/doc/_ext/docstring.py b/doc/_ext/docstring.py new file mode 100644 index 00000000..d1034ffc --- /dev/null +++ b/doc/_ext/docstring.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 + +"""Adapt Libervia docstring style to autodoc""" + + +def process_docstring(app, what, name, obj, options, lines): + lines[:] = [ + l.replace("@param", ":param").replace("@raise", ":raises") + for l in lines + ] + + +def setup(app): + app.connect("autodoc-process-docstring", process_docstring) + return { + 'version': '0.1', + 'parallel_read_safe': True, + 'parallel_write_safe': True, + } diff --git a/doc/conf.py b/doc/conf.py index 2416fc39..6a8abfa5 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -12,13 +12,15 @@ # 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('.')) +import os +import sys import os.path import re +sys.path.insert(0, os.path.abspath("./_ext")) + + # -- Project information ----------------------------------------------------- project = 'Libervia' @@ -47,6 +49,8 @@ release = version_full # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ + "sphinx.ext.autodoc", + "docstring" ] # Add any paths that contain templates here, relative to this directory.