import logging import os from sphinx.config import getenv from kupferbootstrap.utils import git #sys.path.insert(0, os.path.abspath('../..')) extensions = [ 'sphinx_click', "sphinx.ext.autodoc", 'sphinx.ext.autosummary', "sphinx.ext.linkcode", 'myst_parser' ] myst_all_links_external = True templates_path = ['templates'] project = 'Kupfer👢strap' html_title = 'Kupferbootstrap' html_theme = 'furo' html_static_path = ['static'] html_css_files = ['kupfer_docs.css'] html_favicon = 'static/kupfer-white-filled.svg' html_theme_options = { "globaltoc_maxdepth": 5, "globaltoc_collapse": True, "light_logo": "kupfer-black-transparent.svg", "dark_logo": "kupfer-white-transparent.svg", "light_css_variables": { "color-brand-primary": "#882a1a", "color-brand-content": "#882a1a", }, "dark_css_variables": { "color-brand-primary": "#eba38d", "color-brand-content": "#eba38d", "color-problematic": "#ff7564", }, "source_repository": "https://gitlab.com/kupfer/kupferbootstrap", "source_directory": "docs/source/", } autosummary_generate = True autodoc_default_options = { "members": True, "undoc-members": True, "show-inheritance": True, "inherited-members": True, } autodoc_preserve_defaults = True def get_version(): try: res = git( ["rev-parse", "HEAD"], dir=os.path.join(os.path.dirname(__file__), "../.."), use_git_dir=True, capture_output=True, ) res.check_returncode() ver = res.stdout.decode().strip() logging.info(f"Detected git {ver=}") return ver except Exception as ex: logging.warning("Couldn't get git branch:", exc_info=ex) return "HEAD" version = getenv("version") or get_version() def linkcode_resolve(domain, info): if domain != 'py': return None if not info['module']: return None filename = info['module'].replace('.', '/') return "%s/-/blob/%s/src/%s.py" % (html_theme_options["source_repository"], version, filename)