# https://zensical.org/docs/setup/basics
# https://squidfunk.github.io/mkdocs-material/reference/icons-emojis/
# https://pictogrammers.com/library/mdi/
# https://simpleicons.org
# https://fontawesome.com/search?ip=classic&s=regular&ic=free-collection
# https://primer.style/octicons/
# https://microsoft.github.io/vscode-codicons/dist/codicon.html

[project]
site_name = "Документация m3u.su"
site_url = "https://m3u.su/"
site_description = "Описание сервиса m3u.su и его компонентов"
site_author = "Антон Аксенов"
copyright = "Антон Аксенов &copy; 2025-2026 MIT License"
repo_url = "https://git.axenov.dev/IPTV/docs"
repo_name = ".axenov.dev/IPTV/docs" # слева иконка git как раз в виде поддомена
edit_uri = "src/branch/master/content/"

docs_dir = "./content"
site_dir = "./site"
use_directory_urls = false
dev_addr = "localhost:8000"
watch = ["content", "snippets"]
extra_css = ["_assets/css/extra.css"]
# extra_javascript = ["_assets/js/extra.js"]

nav = [
    "index.md",
    {"Агрегатор" = [
        "aggregator/overview.md",
        "aggregator/selection.md",
        "aggregator/statuspage.md",
        "aggregator/faq.md",
    ]},
    {"Приложение iptvc" = [
        "iptvc/overview.md",
        "iptvc/install.md",
        {"Запуск сайта" = [
            "iptvc/site/first-steps.md",
            "iptvc/site/list.md",
            "iptvc/site/details.md",
            "iptvc/site/checks.md",
            "iptvc/site/connect.md",
            "iptvc/site/deploy.md",
        ]},
        {"Использование CLI" = [
            "iptvc/quickstart.md",
            {"Команды" = [
                "iptvc/commands/index.md",
                "iptvc/commands/check.md",
                "iptvc/commands/serve.md",
                "iptvc/commands/version.md",
                "iptvc/commands/help.md",
            ]},
        ]},
        {"Разработка" = [
            # "iptvc/dev/overview.md",
            "iptvc/dev/local-dev.md",
            "iptvc/dev/compile.md",
            "iptvc/dev/docker.md",
            "iptvc/dev/docs.md",
        ]},
    ]},
    {"Справочник" = [
        "reference/config.md",
        "reference/players.md",
        # {"Для документации" = [
        #     "iptvc/dev/docs/components.md",
        #     "iptvc/dev/docs/codicons.md",
        # ]},
        {"Форматы файлов" = [
            "reference/formats/playlists.md",
            "reference/formats/channels.md",
            "reference/formats/m3u.md",
        ]},
    ]},
    {"Дополнительно" = [
        "extra/docs.md",
        "extra/support.md",
        {"Правовая информация" = [
            "extra/legal/copyrights.md",
            "extra/legal/license.md",
            "extra/legal/foss.md",
        ]},
    ]},
]

[project.validation] # валидация контента при сборке
invalid_links = true # битые ссылки
invalid_link_anchors = true # битые якоря

[project.extra]
homepage = "/index.html" # ссылка на логотипе
generator = false # убрать из футера ссылку на Zensical

# [project.extra.consent] # предупреждение о куках
# title = "Уведомление о сookies"
# description = """
#     Мы используем cookie-файлы для улучшения пользовательского опыта и сбора статистики.
#     Для получения дополнительной информации вы можете ознакомиться с нашей <a href="">Политикой использования cookie-файлов</a>.
# """
# actions = [
#     "accept",
#     # "reject,
# ]

[project.extra.analytics.feedback]
title = "Полезна ли эта страница?"

[[project.extra.analytics.feedback.ratings]]
icon = "material/emoticon-happy-outline"
name = "Да, всё понятно"
data = 1
note = "Спасибо за отзыв!"

[[project.extra.analytics.feedback.ratings]]
icon = "material/emoticon-sad-outline"
name = "Нет, нужны уточнения"
data = 0
note = "Спасибо за отзыв!"

[[project.extra.social]] # соц. кнопка в футере
name = "Новостной канал в Telegram"
icon = "simple/telegram"
link = "https://t.me/iptv_aggregator"

# [[project.extra.social]] # соц. кнопка в футере
# name = "Сообщество в Telegram"
# icon = "simple/telegram"
# link = "https://t.me/"

[[project.extra.social]] # соц. кнопка в футере
name = "GitHub"
icon = "fontawesome/brands/git"
link = "https://git.axenov.dev/IPTV"

[project.extra.status]
beta = "Нестабильный функционал"

[project.theme] # общие настройки темы
custom_dir = "./overrides"
language = "ru"
logo = "/_assets/favicon/logo.png" # относительно docs_dir
favicon = "/_assets/favicon/logo.png" # относительно docs_dir
features = [
    # "header.autohide", # скрывать заголовок при скролле
    "content.code.annotate",
    "content.code.copy",
    "content.code.select",
    "content.footnote.tooltips",
    "content.tabs.link",
    "content.tooltips",

    # "navigation.instant",
    # "navigation.instant.prefetch",
    # "navigation.instant.progress",
    "navigation.tabs", # 1 уровень навигации превращаются в табы в шапке
    # "navigation.tabs.sticky", # не скрывать табы под заголовком при скролле
    "navigation.sections", # заголовки секций меню сворачиваются или статичны
    "navigation.tracking", # подстановка якорей страницы в урлу при скролле
    # "navigation.expand", # развёрнутые подменю по умолчанию
    "navigation.path", # хлебные крошки над H1 страницы
    "navigation.indexes", # если есть index.md, то пункт меню разворачиваблен и открывает свой index.md
    "navigation.footer", # прошлый/следующий документ в футере
    "navigation.top", # кнопка возврата наверх

    "toc.follow", # подсветка загловков содержания при скролле
    "search.highlight", # подсвечивать поисковый запрос на странице при переходе из поиска

    # "content.action.edit", # редактирование страницы в repo_url
    # "content.action.view",  # исходник страницы в repo_url
]

[project.theme.font]
text = "Inter"
code = "Jetbrains Mono"

[[project.theme.palette]] # Светлая тема
media = "(prefers-color-scheme: light)"
scheme = "default"
primary = "teal"
accent = "teal"
toggle.icon = "lucide/moon"
toggle.name = "Включить тёмную тему"

[[project.theme.palette]] # Тёмная тема
media = "(prefers-color-scheme: dark)"
scheme = "slate"
primary = "teal"
accent = "teal"
toggle.icon = "lucide/sun"
toggle.name = "Включить светлую тему"

[project.theme.icon]
repo = "fontawesome/brands/git"
edit = "material/pencil"
view = "material/eye"

[project.theme.icon.tag]
default = "lucide/hash"
html = "fontawesome/brands/html5"
js = "fontawesome/brands/js"
css = "fontawesome/brands/css3"
vscode = "material/microsoft-visual-studio-code"
intellij = "simple/jetbrains"
jetbrains = "simple/jetbrains"
cli = "material/console"
brain = "material/brain"

[project.extra.tags]
HTML5 = "html"
JavaScript = "js"
CSS = "css"
VSCode = "vscode"
"VS Code" = "vscode"
IntelliJ = "intellij"
JetBrains = "jetbrains"
CLI = "cli"
"модель" = "brain"
"модели" = "brain"
"ии" = "brain"
AI = "brain"
LLM = "brain"

[project.markdown_extensions.pymdownx.highlight]
anchor_linenums = true
pygments_lang_class = true

[project.markdown_extensions.pymdownx.emoji]
emoji_index = "zensical.extensions.emoji.twemoji"
emoji_generator = "zensical.extensions.emoji.to_svg"
options.custom_icons = ["./overrides/.icons"]

[project.markdown_extensions.pymdownx.snippets]
base_path = "./snippets"

[project.markdown_extensions.pymdownx.tabbed]
alternate_style = true

[project.markdown_extensions.toc]
permalink = true
# title = "На этой странице:"

[project.markdown_extensions.abbr]
[project.markdown_extensions.admonition]
[project.markdown_extensions.attr_list]
[project.markdown_extensions.def_list]
[project.markdown_extensions.footnotes]
[project.markdown_extensions.md_in_html]
[project.markdown_extensions.inline_badges]
[project.markdown_extensions.pymdownx.inlinehilite]
[project.markdown_extensions.pymdownx.superfences]
# [project.markdown_extensions.pymdownx.keys]
[project.markdown_extensions.pymdownx.details]
[project.markdown_extensions.pymdownx.caret]
[project.markdown_extensions.pymdownx.mark]
[project.markdown_extensions.pymdownx.tilde]
