78 lines
2.1 KiB
Python

# 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
import sys
import os
sys.path.insert(0, os.path.abspath('.'))
project = 'CyMaIS - Cyber Master Infrastructure Solution'
copyright = '2025, Kevin Veen-Birkenbach'
author = 'Kevin Veen-Birkenbach'
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
templates_path = ['_templates']
exclude_patterns = ['docs', 'venv', 'venv/**']
# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
html_theme = 'sphinxawesome_theme'
html_static_path = ['_static']
html_sidebars = {
'**': [
'globaltoc.html',
'relations.html',
# 'sourcelink.html',
'local_md_files.html', # Include your custom template
'searchbox.html',
]
}
html_theme_options = {
# 'fixed_sidebar': True,
}
# Liste der Dateiendungen, die Sphinx verarbeiten soll:
source_suffix = {
'.rst': 'restructuredtext',
'.md': 'markdown',
}
extensions = [
"sphinx.ext.autosummary",
"sphinx.ext.autodoc",
"myst_parser",
'local_md_files',
'roles_overview',
'markdown_include',
]
autosummary_generate = True
# Optional: Zusätzliche MyST-Konfigurationen
myst_enable_extensions = [
"colon_fence", # Für erweiterte Syntax wie ::: Hinweisboxen etc.
# weitere Erweiterungen nach Bedarf
]
def setup(app):
python_domain = app.registry.domains.get('py')
if python_domain is not None:
directive = python_domain.directives.get('currentmodule')
if directive is not None:
directive.optional_arguments = 10
return {'version': '1.0', 'parallel_read_safe': True}