docs: readthedocs.org support
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed

This commit is contained in:
Torrie Fischer 2023-03-04 13:16:17 +01:00
parent 194f65967f
commit c9be127836
10 changed files with 103 additions and 1 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@ bin/*
Pipfile.lock
html
latex
xml

View File

@ -17,3 +17,7 @@ pipeline:
image: python
- pip install -U platformio
- pio check -e esp8266 -e esp32 --skip-packages --severity medium --severity high --pattern 'src' --pattern 'lib/Figments' --fail-on-defect high
docs:
image: python
- pip install -U breathe sphinx
- cd docs && sphinx

View File

@ -2094,7 +2094,7 @@ MAN_LINKS = NO
# captures the structure of the code including all documentation.
# The default value is: NO.
GENERATE_XML = NO
GENERATE_XML = YES
# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of

View File

@ -5,6 +5,8 @@ name = "pypi"
[packages]
platformio = "*"
sphinx = "*"
breathe = "*"
[dev-packages]

1
docs/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
_build

20
docs/Makefile Normal file
View File

@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

0
docs/_static/.gitkeep vendored Normal file
View File

0
docs/_templates/.gitkeep vendored Normal file
View File

50
docs/conf.py Normal file
View File

@ -0,0 +1,50 @@
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
project = 'Renderbug'
copyright = '2023, Victoria Fierce'
author = 'Victoria Fierce'
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
extensions = ['breathe']
breathe_projects = {"renderbug": "../xml"}
breathe_default_project = "renderbug"
templates_path = ['_templates']
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
html_theme = 'alabaster'
html_static_path = ['_static']
import subprocess, sys, os
def generate_doxygen_xml(app):
read_the_docs_build = os.environ.get('READTHEDOCS', None) == 'True'
if read_the_docs_build:
try:
retcode = subprocess.call("cd ../; doxygen", shell=True)
if retcode < 0:
sys.stderr.write("doxygen terminated by signal %s" % (-retcode))
except OSError as e:
sys.stderr.write("doxygen execution failed: %s" % e)
def setup(app):
# Add hook for building doxygen xml when needed
app.connect("builder-inited", generate_doxygen_xml)

24
docs/index.rst Normal file
View File

@ -0,0 +1,24 @@
.. Renderbug documentation master file, created by
sphinx-quickstart on Sat Mar 4 13:04:23 2023.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to Renderbug's documentation!
=====================================
.. toctree::
:maxdepth: 2
:caption: Contents:
API Documentation
=================
.. doxygenindex::
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`