[project]
site_name = "mkdocstrings"
site_description = "Automatic documentation from sources, for MkDocs."
site_author = "Timothée Mazzucotelli"
site_url = "https://mkdocstrings.github.io/mkdocstrings"
repo_url = "https://github.com/mkdocstrings/mkdocstrings"
repo_name = "mkdocstrings/mkdocstrings"
copyright = "Copyright &copy; 2019 Timothée Mazzucotelli"
extra_css = ["css/apidocs.css"]
extra_javascript = ["js/feedback.js"]
nav = [
  { "Home" = [
    { "Overview" = "index.md" },
    { "Changelog" = "changelog.md" },
    { "Credits" = "credits.md" },
    { "License" = "license.md" },
  ] },
  { "Usage" = [
    "usage/index.md",
    { "Theming" = "usage/theming.md" },
    { "Handlers" = "usage/handlers.md" },
    { "All handlers" = [
      { "C" = "https://mkdocstrings.github.io/c/" },
      { "Crystal" = "https://mkdocstrings.github.io/crystal/" },
      { "GitHub Actions" = "https://watermarkhu.nl/mkdocstrings-github/" },
      { "Python" = "https://mkdocstrings.github.io/python/" },
      { "Python (Legacy)" = "https://mkdocstrings.github.io/python-legacy/" },
      { "MATLAB" = "https://watermarkhu.nl/mkdocstrings-matlab/" },
      { "Shell" = "https://mkdocstrings.github.io/shell/" },
      { "TypeScript" = "https://mkdocstrings.github.io/typescript/" },
      { "VBA" = "https://pypi.org/project/mkdocstrings-vba" },
    ] },
    { "Guides" = [
      { "Recipes" = "recipes.md" },
      { "Troubleshooting" = "troubleshooting.md" },
    ] },
  ] },
  { "API reference" = "reference/api.md" },
  { "Development" = [
    { "Contributing" = "contributing.md" },
    { "Code of Conduct" = "code_of_conduct.md" },
  ] },
  { "Author's website" = "https://pawamoy.github.io" },
]

# ----------------------------------------------------------------------------
# Theme configuration
# ----------------------------------------------------------------------------
[project.theme]
logo = "logo.svg"
custom_dir = "docs/.overrides"
language = "en"
features = [
    "announce.dismiss",
    "content.action.edit",
    "content.action.view",
    "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.path",
    "navigation.sections",
    "navigation.tabs",
    "navigation.tabs.sticky",
    "navigation.top",
    "search.highlight",
    "toc.follow",
]

[[project.theme.palette]]
media = "(prefers-color-scheme)"
toggle.icon = "material/brightness-auto"
toggle.name = "Switch to light mode"

[[project.theme.palette]]
media = "(prefers-color-scheme: light)"
scheme = "default"
primary = "teal"
accent = "purple"
toggle.icon = "material/weather-sunny"
toggle.name = "Switch to dark mode"

[[project.theme.palette]]
media = "(prefers-color-scheme: dark)"
scheme = "slate"
primary = "black"
accent = "lime"
toggle.icon = "material/weather-night"
toggle.name = "Switch to system preference"

[project.theme.icon]
logo = "material/currency-sign"

# ----------------------------------------------------------------------------
# Social configuration
# ----------------------------------------------------------------------------
[[project.extra.social]]
icon = "fontawesome/brands/github"
link = "https://github.com/pawamoy"

[[project.extra.social]]
icon = "fontawesome/brands/mastodon"
link = "https://fosstodon.org/@pawamoy"

[[project.extra.social]]
icon = "fontawesome/brands/twitter"
link = "https://twitter.com/pawamoy"

[[project.extra.social]]
icon = "fontawesome/brands/gitter"
link = "https://gitter.im/mkdocstrings/community"

[[project.extra.social]]
icon = "fontawesome/brands/python"
link = "https://pypi.org/project/mkdocstrings/"

[project.extra.analytics.feedback]
title = "Was this page helpful?"

[[project.extra.analytics.feedback.ratings]]
icon = "material/emoticon-happy-outline"
name = "This page was helpful"
data = 1
note = "Thank you for your feedback!"

[[project.extra.analytics.feedback.ratings]]
icon = "material/emoticon-sad-outline"
name = "This page could be improved"
data = 0
note = "Let us know how we can improve this page."

# ----------------------------------------------------------------------------
# Markdown extensions configuration
# ----------------------------------------------------------------------------
[project.markdown_extensions.abbr]
[project.markdown_extensions.admonition]
[project.markdown_extensions.attr_list]
[project.markdown_extensions.callouts]
[project.markdown_extensions.def_list]
[project.markdown_extensions.footnotes]
[project.markdown_extensions.md_in_html]
[project.markdown_extensions.toc]
permalink = "¤"
[project.markdown_extensions.pymdownx.arithmatex]
generic = true
[project.markdown_extensions.pymdownx.betterem]
smart_enable = "all"
[project.markdown_extensions.pymdownx.caret]
[project.markdown_extensions.pymdownx.details]
[project.markdown_extensions.pymdownx.emoji]
emoji_generator = "zensical.extensions.emoji.to_svg"
emoji_index = "zensical.extensions.emoji.twemoji"
[project.markdown_extensions.pymdownx.highlight]
[project.markdown_extensions.pymdownx.inlinehilite]
[project.markdown_extensions.pymdownx.keys]
[project.markdown_extensions.pymdownx.magiclink]
[project.markdown_extensions.pymdownx.mark]
[project.markdown_extensions.pymdownx.smartsymbols]
[project.markdown_extensions.pymdownx.snippets]
check_paths = true
[project.markdown_extensions.pymdownx.superfences]
[[project.markdown_extensions.pymdownx.superfences.custom_fences]]
name = "python"
class = "python"
validator = "markdown_exec.validator"
format = "markdown_exec.formatter"
[project.markdown_extensions.pymdownx.tabbed]
alternate_style = true
[project.markdown_extensions.pymdownx.tasklist]
custom_checkbox = true
[project.markdown_extensions.pymdownx.tilde]
[project.markdown_extensions.zensical.extensions.preview]
configurations = [{targets.include = ["reference/api.md"]}]

# ----------------------------------------------------------------------------
# Plugins configuration
# ----------------------------------------------------------------------------
[project.plugins.mkdocstrings.handlers.python]
paths = ["src"]
inventories = [
  "https://docs.python.org/3/objects.inv",
  "https://installer.readthedocs.io/en/stable/objects.inv",  # demonstration purpose in the docs
  "https://mkdocstrings.github.io/autorefs/objects.inv",
  "https://www.mkdocs.org/objects.inv",
  "https://python-markdown.github.io/objects.inv",
  "https://jinja.palletsprojects.com/en/stable/objects.inv",
  "https://markupsafe.palletsprojects.com/en/stable/objects.inv",
]

[project.plugins.mkdocstrings.handlers.python.options]
backlinks = "tree"
docstring_options = { "ignore_init_summary" = true }
docstring_section_style = "list"
filters = "public"
heading_level = 1
inherited_members = true
merge_init_into_class = true
parameter_headings = true
separate_signature = true
show_root_heading = true
show_root_full_path = false
show_signature_annotations = true
show_source = true
show_symbol_type_heading = true
show_symbol_type_toc = true
signature_crossrefs = true
summary = true
unwrap_annotated = true
