INHERIT: ./mkdocs.maybe-insiders.yml
site_name: Typer
site_description: Typer, build great CLIs. Easy to code. Based on Python type hints.
site_url: https://typer.tiangolo.com/

theme:
  name: material
  custom_dir: docs/overrides
  palette:
  - media: "(prefers-color-scheme)"
    toggle:
      icon: material/lightbulb-auto
      name: Switch to light mode
  - media: '(prefers-color-scheme: light)'
    scheme: default
    primary: black
    accent: teal
    toggle:
      icon: material/lightbulb
      name: Switch to dark mode
  - media: '(prefers-color-scheme: dark)'
    scheme: slate
    primary: black
    accent: teal
    toggle:
      icon: material/lightbulb-outline
      name: Switch to system preference
  features:
  - content.code.annotate
  - content.code.copy
  # - content.code.select
  - content.footnote.tooltips
  - content.tabs.link
  - content.tooltips
  - navigation.footer
  - navigation.indexes
  - navigation.instant
  - navigation.instant.prefetch
  # - navigation.instant.preview
  - navigation.instant.progress
  - navigation.path
  - navigation.tabs
  - navigation.tabs.sticky
  - navigation.top
  - navigation.tracking
  - search.highlight
  - search.share
  - search.suggest
  - toc.follow

  icon:
    repo: fontawesome/brands/github-alt
  logo: img/icon.svg
  favicon: img/favicon.png
  language: en
repo_name: fastapi/typer
repo_url: https://github.com/fastapi/typer
plugins:
  # Material for MkDocs
  search:
  social:
  # Other plugins
  macros:
    include_yaml:
    - members: data/members.yml
  redirects:
    redirect_maps:
      typer-cli.md: tutorial/typer-command.md

nav:
  - Typer: index.md
  - features.md
  - Tutorial - User Guide:
      - tutorial/index.md
      - environment-variables.md
      - virtual-environments.md
      - tutorial/install.md
      - tutorial/first-steps.md
      - tutorial/printing.md
      - tutorial/terminating.md
      - CLI Arguments:
          - tutorial/arguments/index.md
          - tutorial/arguments/optional.md
          - tutorial/arguments/default.md
          - tutorial/arguments/help.md
          - tutorial/arguments/envvar.md
          - tutorial/arguments/other-uses.md
      - CLI Options:
          - tutorial/options/index.md
          - tutorial/options/help.md
          - tutorial/options/required.md
          - tutorial/options/prompt.md
          - tutorial/options/password.md
          - tutorial/options/name.md
          - tutorial/options/callback-and-context.md
          - tutorial/options/version.md
      - Commands:
          - tutorial/commands/index.md
          - tutorial/commands/arguments.md
          - tutorial/commands/options.md
          - tutorial/commands/help.md
          - tutorial/commands/name.md
          - tutorial/commands/callback.md
          - tutorial/commands/one-or-multiple.md
          - tutorial/commands/context.md
      - tutorial/options-autocompletion.md
      - CLI Parameter Types:
          - tutorial/parameter-types/index.md
          - tutorial/parameter-types/number.md
          - tutorial/parameter-types/bool.md
          - tutorial/parameter-types/uuid.md
          - tutorial/parameter-types/datetime.md
          - tutorial/parameter-types/enum.md
          - tutorial/parameter-types/path.md
          - tutorial/parameter-types/file.md
          - tutorial/parameter-types/custom-types.md
      - SubCommands - Command Groups:
          - tutorial/subcommands/index.md
          - tutorial/subcommands/add-typer.md
          - tutorial/subcommands/single-file.md
          - tutorial/subcommands/nested-subcommands.md
          - tutorial/subcommands/callback-override.md
          - tutorial/subcommands/name-and-help.md
      - Multiple Values:
          - tutorial/multiple-values/index.md
          - tutorial/multiple-values/multiple-options.md
          - tutorial/multiple-values/options-with-multiple-values.md
          - tutorial/multiple-values/arguments-with-multiple-values.md
      - tutorial/prompt.md
      - tutorial/progressbar.md
      - tutorial/app-dir.md
      - tutorial/launch.md
      - tutorial/testing.md
      - tutorial/using-click.md
      - tutorial/package.md
      - tutorial/exceptions.md
      - tutorial/typer-command.md
  - Resources:
    - resources/index.md
    - help-typer.md
    - contributing.md
    - management-tasks.md
  - About:
    - about/index.md
    - alternatives.md
    - management.md
  - release-notes.md

markdown_extensions:
  # Python Markdown
  abbr:
  attr_list:
  footnotes:
  md_in_html:
  tables:
  toc:
    permalink: true

  # Python Markdown Extensions
  pymdownx.betterem:
    smart_enable: all
  pymdownx.caret:
  pymdownx.highlight:
    line_spans: __span
  pymdownx.inlinehilite:
  pymdownx.keys:
  pymdownx.mark:
  pymdownx.superfences:
    custom_fences:
    - name: mermaid
      class: mermaid
      format: !!python/name:pymdownx.superfences.fence_code_format
  pymdownx.tilde:

  # pymdownx blocks
  pymdownx.blocks.admonition:
    types:
    - note
    - attention
    - caution
    - danger
    - error
    - tip
    - hint
    - warning
    # Custom types
    - info
    - check
  pymdownx.blocks.details:
  pymdownx.blocks.tab:
    alternate_style: True

  # Other extensions
  mdx_include:
    base_path: docs

extra:
  analytics:
    provider: google
    property: G-T78C5GNRXK
    feedback:
      title: Was this page helpful?
      ratings:
        - icon: material/emoticon-happy-outline
          name: This page was helpful
          data: 1
          note: >-
            Thanks for your feedback!
        - icon: material/emoticon-sad-outline
          name: This page could be improved
          data: 0
          note: >-
            Thanks for your feedback!
  social:
    - icon: fontawesome/brands/github-alt
      link: https://github.com/fastapi/typer
    - icon: fontawesome/brands/twitter
      link: https://twitter.com/tiangolo
    - icon: fontawesome/brands/linkedin
      link: https://www.linkedin.com/in/tiangolo
    - icon: fontawesome/brands/dev
      link: https://dev.to/tiangolo
    - icon: fontawesome/brands/medium
      link: https://medium.com/@tiangolo
    - icon: fontawesome/solid/globe
      link: https://tiangolo.com

extra_css:
  - css/termynal.css
  - css/custom.css

extra_javascript:
  - js/termynal.js
  - js/custom.js

hooks:
  - scripts/mkdocs_hooks.py
