starter-kit/documents/conf.py
2025-09-22 16:49:34 -04:00

136 lines
4.1 KiB
Python

# 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('.'))
import datetime
# -- Project information -----------------------------------------------------
company_name = "Open Nucleonics"
project = f"{company_name} Governing Documents"
author = company_name
release = "1.0"
version = release
project_copyright = f"{datetime.datetime.now(tz=datetime.timezone.utc).year}"
description = f"Procedures, Forms, Templates that govern work at {company_name}"
# -- 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 = [
"sphinxcontrib.plantuml",
"sphinx_needs",
"myst_parser",
"sphinxcontrib.bibtex",
"sphinxcontrib.glossaryused",
"sphinx.ext.imgmath",
"sphinxcontrib.datatemplates",
"sphinxcontrib.mermaid",
"sphinx.ext.graphviz",
# "sphinx.ext.imgconverter", # SVG to png but rasterizes and bad
"sphinxcontrib.inkscapeconverter", # SVG to pdf without rasterizing
"sphinx_timeline",
]
# 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 = []
# -- 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 = "sphinx_book_theme"
html_title = f"{project} {release}"
# 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"]
html_logo = "_static/logo.png"
html_favicon = "_static/favicon.ico"
html_theme_options = {
"logo": {
"text": html_title,
# "image_light": "_static/logo-light.png",
# "image_dark": "_static/logo-dark.png",
}
}
html_css_files = [
"css/custom.css",
]
# system-specific plantuml config
# https://sphinx-needs.readthedocs.io/en/latest/installation.html#plantuml-support
plantuml = "java -Djava.awt.headless=true -jar /usr/share/plantuml/plantuml.jar"
# LaTeX document generation options
# doesn't work with sphinx-needs
latex_documents = [
(
"index",
"nrsk.tex",
"Nuclear Reactor Starter Kit",
author,
"manual",
False,
),
]
# (
# "org/qapd",
# "qapd.tex",
# "Quality Assurance Program Description",
# author,
# "howto",
# False,
# ),
# (
# "proc/calc",
# "proc_calc.tex",
# "Engineering Calculation Procedure",
# author,
# "howto",
# False,
# ),
# (
# "proc/software",
# "proc_software.tex",
# "Software Management Procedure",
# author,
# "howto",
# False,
# ),
# ]
rst_prolog = f"""
.. |inst| replace:: **{company_name}**
"""
# will need to move relevant refs somewhere
# more reusable, like into the repo?
bibtex_bibfiles = ["/pool/Reading/refs.bib"]
mermaid_cmd = "./node_modules/.bin/mmdc"
# enable pdf cropping of mermaid diagrams for fit
mermaid_pdfcrop = "/usr/bin/pdfcrop"
mermaid_version = "10.6.1"
# Sphinx Needs config
needs_include_needs = True # turn off to hide all needs (e.g. for working docs)