# Configuration file for the Sphinx documentation builder.

import sys
from pathlib import Path

# -- Paths -------------------------------------------------------------------

MATTER_BASE = Path(__file__).resolve().parents[1]

sys.path.insert(0, str(MATTER_BASE / "docs" / "_extensions"))

# -- Project information -----------------------------------------------------

project = "Matter"
copyright = "2022, Matter Contributors"
author = "Matter Contributors"
version = "1.0.0"

# -- General configuration ---------------------------------------------------

extensions = [
    "myst_parser",
    "external_content",
]
exclude_patterns = [
    "_build",
    "examples/android/*",
    "**/nxp/linux-imx/imx8m/README.md",
    "examples/ota-requestor-app/efr32/README.md",
    "**/android/App/app/libs*",
    "examples/providers/README.md",
    "examples/thermostat/nxp/linux-se05x/README.md",
]


# -- Options for HTML output -------------------------------------------------

html_theme = "sphinx_book_theme"
html_logo = "_static/images/logo.png"
html_favicon = "_static/images/favicon.ico"
html_static_path = ["_static"]
html_theme_options = {
    "logo_only": True,
    "github_url": "https://github.com/project-chip/connectedhomeip",
    "repository_url": "https://github.com/project-chip/connectedhomeip",
    "use_edit_page_button": True,
    "repository_branch": "master",
    "path_to_docs": "docs",
}

# -- Options for MyST --------------------------------------------------------

myst_heading_anchors = 6
suppress_warnings = ["myst.header", "myst.anchor"]
myst_enable_extensions = ["html_image"]


# -- Options for external_content --------------------------------------------

external_content_contents = [
    (MATTER_BASE / "docs", "[!_R]*"),
    (MATTER_BASE, "README.md"),
    (MATTER_BASE, "examples/**/*.md"),
    (MATTER_BASE, "examples/**/*.png"),
    (MATTER_BASE, "examples/**/*.jpg"),
    (MATTER_BASE, "examples/**/*.JPG"),
]
external_content_link_prefixes = [
    "src/",
    r"\.vscode/",
    "CONTRIBUTING",
    "scripts/",
    "examples/android/",
]
external_content_link_extensions = [".md", ".png", ".jpg", ".svg"]
