diff --git a/docs/source/conf.py b/docs/source/conf.py index ea23ad772db928940188647dbeea6f3ccd8fa413..b09ad6206684687a155098f75421e9d955f763b4 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -14,6 +14,42 @@ # import sys # sys.path.insert(0, os.path.abspath('.')) +from importlib import import_module +from docutils.parsers.rst import Directive +from docutils import nodes +from sphinx import addnodes +import json +import os +import sys + +sys.path.insert(0, os.path.abspath( + os.path.join( + os.path.dirname(__file__), + '..', '..', 'brian_polling_manager'))) + +class RenderAsJSON(Directive): + # cf. https://stackoverflow.com/a/59883833 + + required_arguments = 1 + + def run(self): + module_path, member_name = self.arguments[0].rsplit('.', 1) + + member_data = getattr(import_module(module_path), member_name) + code = json.dumps(member_data, indent=2) + + literal = nodes.literal_block(code, code) + literal['language'] = 'json' + + return [ + addnodes.desc_name(text=member_name), + addnodes.desc_content('', literal) + ] + + +def setup(app): + app.add_directive('asjson', RenderAsJSON) + # -- Project information ----------------------------------------------------- @@ -31,6 +67,9 @@ release = '0.0.1' # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ + 'sphinx_rtd_theme', + 'sphinx.ext.autodoc', + 'sphinx.ext.coverage' ] # Add any paths that contain templates here, relative to this directory. @@ -47,9 +86,15 @@ exclude_patterns = [] # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = 'alabaster' +html_theme = 'sphinx_rtd_theme' # 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 = ['_static'] \ No newline at end of file +html_static_path = ['_static'] + +# Both the class’ and the __init__ method’s docstring +# are concatenated and inserted. +autoclass_content = "both" +autodoc_typehints = "none" + diff --git a/requirements.txt b/requirements.txt index 27a7d64f918ba08b3ba3110a6eea0d2b30e601a1..ce85dbcd29a516b2fdd1b9899761f12b7345e3dc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,3 +5,4 @@ requests pytest responses sphinx +sphinx-rtd-theme