mirror of
https://github.com/nasa/fprime-tools.git
synced 2025-12-11 13:56:55 -06:00
91 lines
2.4 KiB
Python
91 lines
2.4 KiB
Python
"""Configuration file for the Sphinx documentation builder.
|
|
|
|
Documentation:
|
|
https://www.sphinx-doc.org/en/master/usage/configuration.html
|
|
"""
|
|
|
|
# pylint: disable=invalid-name
|
|
|
|
import re
|
|
from datetime import datetime
|
|
from importlib import import_module
|
|
from pathlib import Path
|
|
|
|
import sphinx_rtd_theme # pylint: disable=unused-import
|
|
|
|
# importlib.metadata is implemented in Python 3.8
|
|
# Previous versions require the backport, https://pypi.org/project/importlib-metadata/
|
|
try:
|
|
metadata = import_module("importlib.metadata")
|
|
except ModuleNotFoundError:
|
|
metadata = import_module("importlib_metadata")
|
|
|
|
# -- Project information -----------------------------------------------------
|
|
|
|
metadata_ = metadata.metadata("fprime")
|
|
project = metadata_.get("Name")
|
|
author = metadata_.get("Author")
|
|
copyright = f"{datetime.now().year}, {author}" # pylint: disable=redefined-builtin
|
|
|
|
# The full version, including alpha/beta/rc tags
|
|
release = metadata_.get("Version")
|
|
# The short X.Y version
|
|
version = re.match(r"v?\d+(\.\d+)*", release)[0]
|
|
|
|
|
|
# -- General configuration ---------------------------------------------------
|
|
|
|
extensions = [
|
|
"sphinx.ext.autodoc",
|
|
"sphinx.ext.autosectionlabel",
|
|
"sphinx.ext.doctest",
|
|
"sphinx.ext.coverage",
|
|
"sphinx.ext.extlinks",
|
|
"sphinx.ext.ifconfig",
|
|
"sphinx.ext.intersphinx",
|
|
"sphinx.ext.napoleon",
|
|
"sphinx.ext.viewcode",
|
|
"autoapi.extension",
|
|
"recommonmark",
|
|
"sphinx_rtd_theme",
|
|
"sphinxcontrib.mermaid",
|
|
]
|
|
|
|
source_suffix = {".rst": "restructuredtext", ".md": "markdown"}
|
|
|
|
master_doc = "index"
|
|
|
|
rst_epilog = "\n".join(
|
|
[
|
|
"\nBuild: |release|\n",
|
|
f".. _fprime: {metadata_.get('url')}",
|
|
f".. |project| replace:: {project.replace('_', ' ').title()}",
|
|
]
|
|
)
|
|
|
|
nitpicky = False
|
|
|
|
# -- Options for HTML output -------------------------------------------------
|
|
|
|
html_theme = "sphinx_rtd_theme"
|
|
html_show_sphinx = False
|
|
html_static_path = ["_static"]
|
|
html_css_files = [str(Path("css", "rtd_width.css"))]
|
|
# html_logo = None
|
|
# html_favicon = None
|
|
|
|
# -- Extension configuration -------------------------------------------------
|
|
|
|
todo_include_todos = True
|
|
autosectionlabel_prefix_document = True
|
|
autodoc_default_options = {
|
|
"members": True,
|
|
"undoc-members": True,
|
|
"inherited-members": True,
|
|
"autodoc_typehints": "description",
|
|
}
|
|
autoapi_type = "python"
|
|
autoapi_dirs = [str(Path(__file__).parents[1].joinpath("src"))]
|
|
autoapi_root = "api"
|
|
mermaid_version = "8.7.0"
|