From e1e1f86cf815806fd3fd630bebd091eb8a6a0ba7 Mon Sep 17 00:00:00 2001 From: Hugo Levy-Falk Date: Mon, 1 Jun 2020 22:23:01 +0200 Subject: [PATCH] Automatic build of documentation. --- .gitignore | 3 ++ .gitlab-ci.yml | 16 +++++++-- docs_utils/source/conf.py | 65 +++++++++++++++++++++++++++++++++++++ docs_utils/source/index.rst | 32 ++++++++++++++++++ 4 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 docs_utils/source/conf.py create mode 100644 docs_utils/source/index.rst diff --git a/.gitignore b/.gitignore index e63fc69f..a8f972b2 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,6 @@ settings_local.py local_routers.py re2o.png media/ + +# documentation +docs_utils/source/autodoc/* diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c5f0e63b..17a22db3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ --- -image: debian:stretch +image: debian:buster stages: + - deploy_doc - lint lint: @@ -15,6 +16,17 @@ lint: - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - pylint3 --load-plugins pylint_django cotisations machines re2o logs topologie preferences search users || if [ $? -ne 1 ]; then exit 0; else exit 1; fi - +pages: + stage: deploy_doc + script: + - apt-get -qq update + - cat apt_requirements.txt | grep python3 | xargs apt-get -qq install -y + - python3 -m pip install -U -r pip_requirements.txt + - python3 -m pip install -U sphinx + - sphinx-apidoc -o re2o/docs_utils/source/autodoc/ -f . ./*/migrations/* + - sphinx-build -b html docs_utils/source/ public + artifacts: + paths: + - public diff --git a/docs_utils/source/conf.py b/docs_utils/source/conf.py new file mode 100644 index 00000000..9cec99f3 --- /dev/null +++ b/docs_utils/source/conf.py @@ -0,0 +1,65 @@ +# 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 + +# -- 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("../..")) + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "re2o.settings") +import django + +django.setup() + + +# -- Project information ----------------------------------------------------- + +project = "Re2o" +copyright = "2020, Federez" +author = "Federez" + +# The full version, including alpha/beta/rc tags +release = "dev" + + +# -- 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 = ["sphinx.ext.autodoc", "sphinx.ext.napoleon", "recommonmark"] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ["_templates"] + +# 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 = [] + +source_suffix = { + ".rst": "restructuredtext", + ".txt": "markdown", + ".md": "markdown", +} + +# -- 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 = ["_static"] diff --git a/docs_utils/source/index.rst b/docs_utils/source/index.rst new file mode 100644 index 00000000..b47ad451 --- /dev/null +++ b/docs_utils/source/index.rst @@ -0,0 +1,32 @@ +.. Re2o documentation master file, created by + sphinx-quickstart on Sat May 16 14:17:06 2020. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to Re2o's documentation! +================================ + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + :glob: + + autodoc/* + +I collected the files with :: + + sphinx-apidoc -o source/autodoc/ -f /var/www/re2o/ ../*/migrations/* + +Then :: + + make markdown + + + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search`