site_name: "CrustyPy Instance"
site_description: "Generated with CrustyPy."
site_url: "https://crustypy-instance.readthedocs.io"
repo_url: "https://github.com/MicaelJarniac/crustypy-instance"
repo_name: "MicaelJarniac/crustypy-instance"
copyright: "Copyright &copy; 2023, Micael Jarniac"

# Documentation source directory (relative to this config file)
docs_dir: "."
# Build output directory (outside docs dir to avoid conflicts)
site_dir: "../site"

theme:
  name: material
  palette:
    # Light mode
    - media: "(prefers-color-scheme: light)"
      scheme: default
      primary: indigo
      accent: indigo
      toggle:
        icon: material/brightness-7
        name: Switch to dark mode
    # Dark mode
    - media: "(prefers-color-scheme: dark)"
      scheme: slate
      primary: indigo
      accent: indigo
      toggle:
        icon: material/brightness-4
        name: Switch to light mode
  features:
    - announce.dismiss
    - content.code.annotate
    - content.code.copy
    - content.tabs.link
    - navigation.expand
    - navigation.footer
    - navigation.indexes
    - navigation.sections
    - navigation.tabs
    - navigation.tabs.sticky
    - navigation.top
    - navigation.tracking
    - search.highlight
    - search.share
    - search.suggest
    - toc.follow
  icon:
    repo: fontawesome/brands/github

plugins:
  - search:
      separator: '[\s\-,:!=\[\]()"`/]+|\.(?!\d)|&[lg]t;|(?!\b)(?=[A-Z][a-z])'
  - mkdocstrings:
      handlers:
        python:
          paths: [src]
          options:
            docstring_style: google
            docstring_section_style: table
            show_root_heading: true
            show_source: true
            show_signature_annotations: true
            separate_signature: true
            merge_init_into_class: true
            filters:
              - "!^_"
            members_order: source
            group_by_category: true
            show_category_heading: true
            show_symbol_type_heading: true
            show_symbol_type_toc: true
  - autorefs

markdown_extensions:
  # Python Markdown
  - abbr
  - admonition
  - attr_list
  - def_list
  - footnotes
  - md_in_html
  - tables
  - toc:
      permalink: true
      toc_depth: 4
  # Python Markdown Extensions
  - pymdownx.arithmatex:
      generic: true
  - pymdownx.betterem:
      smart_enable: all
  - pymdownx.caret
  - pymdownx.details
  - pymdownx.emoji:
      emoji_index: !!python/name:material.extensions.emoji.twemoji
      emoji_generator: !!python/name:material.extensions.emoji.to_svg
  - pymdownx.highlight:
      anchor_linenums: true
      line_spans: __span
      pygments_lang_class: true
  - pymdownx.inlinehilite
  - pymdownx.keys
  - pymdownx.mark
  - pymdownx.smartsymbols
  - pymdownx.superfences:
      custom_fences:
        - name: mermaid
          class: mermaid
          format: !!python/name:pymdownx.superfences.fence_code_format
  - pymdownx.tabbed:
      alternate_style: true
  - pymdownx.tasklist:
      custom_checkbox: true
  - pymdownx.tilde

nav:
  - Home: README.md
  - Contributing:
    - Guide: CONTRIBUTING.md
    - Code of Conduct: CODE_OF_CONDUCT.md
  - Reference:
    - Tools & Standards: reference.md
    - API Reference: api.md

extra:
  social:
    - icon: fontawesome/brands/github
      link: "https://github.com/MicaelJarniac/crustypy-instance"
      name: GitHub Repository
    - icon: fontawesome/brands/python
      link: "https://pypi.org/project/crustypy-instance"
      name: PyPI Package
  version:
    provider: mike

extra_css:
  - stylesheets/extra.css

extra_javascript:
  - javascripts/extra.js
