"""Sphinx configuration for SciTeX Writer documentation.""" # For the full list of built-in configuration values, see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html # -- Path setup -------------------------------------------------------------- import os import sys sys.path.insert(0, os.path.abspath("../../src")) # -- Project information ----------------------------------------------------- project = "SciTeX Writer" copyright = "2025, Yusuke Watanabe" author = "Yusuke Watanabe" # Dynamic version from pyproject.toml try: from importlib.metadata import version as _get_version release = _get_version("scitex-writer") except Exception: release = "0.0.0" # -- General configuration --------------------------------------------------- extensions = [ "sphinx.ext.autodoc", "sphinx.ext.autosummary", "sphinx.ext.napoleon", "sphinx.ext.viewcode", "sphinx.ext.intersphinx", "sphinx.ext.coverage", "sphinx_rtd_theme", "myst_parser", "sphinx_copybutton", "sphinx_autodoc_typehints", ] # Autodoc settings autodoc_default_options = { "members": True, "member-order": "bysource", "special-members": "__init__", "undoc-members": True, "exclude-members": "__weakref__", } # Mock imports for packages that may not be installed on RTD autodoc_mock_imports = [ "fastmcp", ] # Autosummary settings autosummary_generate = True # Napoleon settings for numpy/google style docstrings napoleon_google_docstring = True napoleon_numpy_docstring = True napoleon_include_init_with_doc = True napoleon_include_private_with_doc = True napoleon_include_special_with_doc = True napoleon_use_admonition_for_examples = True napoleon_use_admonition_for_notes = True napoleon_use_admonition_for_references = True napoleon_use_ivar = False napoleon_use_param = True napoleon_use_rtype = True napoleon_preprocess_types = False napoleon_type_aliases = None napoleon_attr_annotations = True # 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. exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "to_claude/**"] # The suffix(es) of source filenames. source_suffix = { ".rst": "restructuredtext", ".md": "markdown", } # -- Options for HTML output ------------------------------------------------- html_theme = "sphinx_rtd_theme" html_theme_options = { "navigation_depth": 4, "collapse_navigation": False, "sticky_navigation": True, "includehidden": True, "titles_only": False, "prev_next_buttons_location": "bottom", } # 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"] # RTD-specific configurations html_title = f"{project} v{release}" html_short_title = project html_logo = None # Add path to logo if available html_favicon = None # Add path to favicon if available # Show "Edit on GitHub" links html_context = { "display_github": True, "github_user": "ywatanabe1989", "github_repo": "scitex-writer", "github_version": "main", "conf_py_path": "/docs/sphinx/", } # MyST parser configuration myst_enable_extensions = [ "dollarmath", "colon_fence", "deflist", "html_admonition", "html_image", "replacements", "smartquotes", "substitution", "tasklist", ] # -- Options for intersphinx extension --------------------------------------- intersphinx_mapping = { "python": ("https://docs.python.org/3", None), }