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:
    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
  - Pick your worker:
    - contents/pick/index.md
    - Base Worker: contents/pick/base.md
    - Element Worker: contents/pick/element.md
    - Dataset Worker: contents/pick/dataset.md
  - Initialize your worker:
    - contents/init/index.md
    - Setting up a new worker: contents/init/create.md
    - Template structure: contents/init/template-structure.md
    - Maintaining a worker: contents/init/maintenance.md
  - Implement your worker:
      - contents/implem/index.md
      - Configuration:
        - contents/implem/configure/index.md
        - YAML configuration: contents/implem/configure/yaml.md
        - Use secrets in your worker: contents/implem/configure/secrets.md
      - Processing:
        - contents/implem/process/index.md
        - Arkindex API Helpers: contents/implem/process/helpers.md
        - Artifacts: contents/implem/process/artifacts.md
      - Tests:
        - contents/implem/test/index.md
        - Unit tests: contents/implem/test/unit.md
        - Gitlab CI: contents/implem/test/ci.md
      - Run your worker:
        - contents/implem/run/index.md
        - Run your worker locally: contents/implem/run/local.md
        - Run your worker in Docker: contents/implem/run/docker.md
  - Ship your worker:
    - contents/ship/index.md
    - Arkindex publication: contents/ship/publication.md
    - Arkindex execution: contents/ship/arkindex.md
  - Tutorials:
    - contents/tutorials/index.md
    - Element worker: contents/tutorials/elements.md
    - Base worker: contents/tutorials/base.md
    - Dataset worker: contents/tutorials/dataset.md
    - Hugging Face: contents/tutorials/hugging_face.md
    - Arkindex model version: contents/tutorials/arkindex_model.md
    - Training worker: contents/tutorials/training.md
    - Use artifacts: contents/tutorials/artifacts.md
  - Contributing: contributing.md
  - Python Reference:
      - Base Worker: ref/base_worker.md
      - Arkindex Workers: ref/arkindex_workers.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
      - Image utilities: ref/image.md
      - Cache: ref/cache.md
      - Utils: ref/utils.md
  - Releases: releases.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
