# 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 os
import sys

sys.path.insert(0, os.path.abspath("../.."))


project = "Поиск выхода из лабиринта"
copyright = "2026, SerKin0"
author = "SerKin0"
release = "0.0.1"
html_title = project


# --- MyST (Markdown) ---
myst_enable_extensions = [
    "dollarmath",  # $x$ и $$x$$
    "amsmath",  # \begin{equation}
    "colon_fence",  # ::: блоки
]

exclude_patterns = ["build", "draft.md"]

extensions = [
    "sphinx.ext.autodoc",
    "sphinx.ext.napoleon",
    "sphinx.ext.viewcode",
    "myst_nb",
    "sphinx.ext.mathjax",
    "sphinx_new_tab_link",
    "sphinx.ext.autosummary",
    "sphinxcontrib.mermaid",
]

autosummary_generate = True

autodoc_default_options = {
    "members": True,
    "undoc-members": True,
    "show-inheritance": True,
    "special-members": "__init__",
    "inherited-members": False,
    "exclude-members": "__weakref__",
}

napoleon_google_docstring = True
napoleon_numpy_docstring = False
napoleon_include_init_with_doc = True
napoleon_include_private_with_doc = False

# --- Тема ---
html_permalinks_icon = "<span>#</span>"
html_theme = "sphinxawesome_theme"
language = "ru"

html_theme_options = {
    "navigation_with_keys": True,
    "globaltoc_collapse": False,
    "globaltoc_includehidden": False,
    "show_prev_next": True,
    "main_nav_links": {},
}

pygments_style = "monokai"
pygments_style_dark = "monokai"


# Для подключения CSS (стили иконок)
html_css_files = [
    "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css",
]

# --- HTML ---
html_static_path = ["_static"]
