site_name: Arkindex Workers
site_dir: public

theme:
  name: material

  # Branding
  logo: assets/logo.png
  favicon: assets/favicon.png

  font:
    text: Roboto
    code: Roboto Mono

  features:
  - navigation.top
  - navigation.tracking
  - navigation.indexes

  palette:
    # Palette toggle for light mode
    - media: "(prefers-color-scheme: light)"
      scheme: default
      toggle:
        icon: material/brightness-7
        name: Switch to dark mode

    # Palette toggle for dark mode
    - media: "(prefers-color-scheme: dark)"
      scheme: slate
      toggle:
        icon: material/brightness-4
        name: Switch to light mode

plugins:
- search
- autorefs
- mkdocstrings:
    custom_templates: templates
    handlers:
      python:
        import: # enable auto refs to the doc
        - https://docs.python.org/3/objects.inv
        - https://pillow.readthedocs.io/en/stable/objects.inv
        - http://docs.peewee-orm.com/en/latest/objects.inv
        - https://gnupg.readthedocs.io/en/latest/objects.inv
        - https://shapely.readthedocs.io/en/stable/objects.inv
        - https://tenacity.readthedocs.io/en/latest/objects.inv
        options:
          show_root_toc_entry: false
          show_object_full_path: false
          show_root_heading: yes
          show_source: true
          docstring_style: sphinx
          merge_init_into_class: yes
          show_category_heading: yes
          show_signature_annotations: yes
          separate_signature: yes
          members_order: source
          unwrap_annotated: yes

nav:
  - Home: index.md
  - How to create a worker:
    - contents/workers/index.md
    - Setting up a new worker: contents/workers/create.md
    - Running your worker locally: contents/workers/run-local.md
    - Maintaining a worker: contents/workers/maintenance.md
    - GitLab CI for workers: contents/workers/ci/index.md
    - YAML configuration: contents/workers/yaml.md
    - Template structure: contents/workers/template-structure.md
  - Using secrets in workers:
    - contents/secrets/index.md
    - Usage: contents/secrets/usage.md
  - Worker Implementation:
      - contents/implem/index.md
      - Configuration: contents/implem/configure.md
  - Python Reference:
      - Base Worker: ref/base_worker.md
      - Elements Worker: ref/elements_worker.md
      - Arkindex API integration:
          - ref/api/index.md
          - Classification: ref/api/classification.md
          - Dataset: ref/api/dataset.md
          - Element: ref/api/element.md
          - Entity: ref/api/entity.md
          - Metadata: ref/api/metadata.md
          - Task: ref/api/task.md
          - Training: ref/api/training.md
          - Transcription: ref/api/transcription.md
          - WorkerVersion: ref/api/worker_version.md
      - Models: ref/models.md
      - Git & Gitlab support: ref/git.md
      - Image utilities: ref/image.md
      - Cache: ref/cache.md
      - Utils: ref/utils.md
  - Releases: releases.md
  - Documentation development: dev/build_docs.md

markdown_extensions:
    - smarty
    - toc:
        permalink: True
    - sane_lists
    - pymdownx.highlight
    - def_list # enable definition lists
    - admonition # syntax coloration in code blocks
    - codehilite
    - pymdownx.details
    - pymdownx.superfences:
        custom_fences:
          - name: mermaid
            class: mermaid
            format: !!python/name:pymdownx.superfences.fence_code_format # yamllint disable-line

copyright:  Copyright &copy; Teklia

extra:
  social:
    - icon: fontawesome/regular/heart
      name: Teklia official website
      link: https://teklia.com
    - icon: fontawesome/brands/gitlab
      name: Git repository for this project
      link: https://gitlab.teklia.com/workers/base-worker
    - icon: fontawesome/brands/linkedin
      name: Teklia @ LinkedIn
      link: https://www.linkedin.com/company/teklia
