Files
docs/content/iptvc/dev/docs/components.md
T
2026-07-16 12:07:22 +08:00

10 KiB
Raw Blame History

Компоненты

Здесь показаны примеры компонентов, которые можно внедрять в документацию.

Для синтаксиса обращайся в документацию Zensical и репозиторий этой документации.

Мелочёвка

=== "Бейджи"

Это кастомный функционал, в основе которого лежит `inline_badges.py` в корне репозитория.

<!-- md:env SOME_VAR -->
<!-- md:arg --arg -->
<!-- md:config server.host -->
<!-- md:version 1.2.3 -->
<!-- md:default default_value -->
<!-- md:beta -->

=== "Frontmatter"

```yaml
---
title: My Page
description: Some page description
icon: material/star
tags: [tag1, tag2]
hide: [navigation, toc, path]
status: new
#status: deprecated
#status: beta
---

# My Super-Duper Page

# Markdown content goes here
```

=== "Тултипы"

:material-information-outline:{ title="текст подсказки" }

[Hover me 1](https://example.com "I'm first tooltip!")

[Hover me 2][example]

[example]: https://example.com "I'm second tooltip!"

=== "Кнопки"

[Серая кнопка](https://example.com/){ .md-button }

[Синяя кнопка](https://example.com/){ .md-button .md-button--primary }

[:fontawesome-solid-paper-plane: Кнопка серая с иконкой и подсказкой](https://example.com/){ .md-button title="текст подсказки 2" }

[:fontawesome-solid-paper-plane: Кнопка синяя с иконкой](https://example.com/){ .md-button .md-button--primary }

=== "Простой блок"

```python
def _render_icon(shortcode: str, md) -> str:
    emoji_pattern = md.inlinePatterns.get("emoji")
    if emoji_pattern is None:
        return escape(shortcode)
```

=== "С аннотациями"

```python
def _render_icon(shortcode: str, md) -> str: #(1)!
    emoji_pattern = md.inlinePatterns.get("emoji") #(2)!
    if emoji_pattern is None:
        return escape(shortcode) #(3)!
```

1. сигнатура функции
2. инициализация переменной
3. возврат результата

=== "С заголовком"

```python title="example.py"
def _render_icon(shortcode: str, md) -> str:
    emoji_pattern = md.inlinePatterns.get("emoji")
    if emoji_pattern is None:
        return escape(shortcode)
```

=== "Нумерация с 5"

```python linenums="5"
def _render_icon(shortcode: str, md) -> str:
    emoji_pattern = md.inlinePatterns.get("emoji")
    if emoji_pattern is None:
        return escape(shortcode)
```

=== "Выделение"

```python linenums="1" hl_lines="2-5 8 9 22"
def _render_icon(shortcode: str, md) -> str:
    try:
        emoji_pattern = md.inlinePatterns["emoji"]
    except KeyError:
        return escape(shortcode)

    icon = emoji_pattern.emoji_index["emoji"].get(shortcode)
    if icon is None:
        return escape(shortcode)

    element = emoji_pattern.generator(
        emoji_pattern.emoji_index["name"],
        shortcode,
        None,
        None,
        shortcode,
        "",
        icon.get("category", ""),
        emoji_pattern.options,
        md,
    )
    return tostring(element, encoding="unicode", method="html")
```

Врезки

=== "Полные"

!!! note "Заголовок статичной врезки"
    Содержимое, которое может
    быть многострочным

!!! abstract "Заголовок статичной врезки"
    Содержимое, которое может
    быть многострочным

!!! info "Заголовок статичной врезки"
    Содержимое, которое может
    быть многострочным

!!! tip "Заголовок статичной врезки"
    Содержимое, которое может
    быть многострочным

!!! success "Заголовок статичной врезки"
    Содержимое, которое может
    быть многострочным

!!! question "Заголовок статичной врезки"
    Содержимое, которое может
    быть многострочным

!!! warning "Заголовок статичной врезки"
    Содержимое, которое может
    быть многострочным

!!! failure "Заголовок статичной врезки"
    Содержимое, которое может
    быть многострочным

!!! danger "Заголовок статичной врезки"
    Содержимое, которое может
    быть многострочным

!!! bug "Заголовок статичной врезки"
    Содержимое, которое может
    быть многострочным

!!! example "Заголовок статичной врезки"
    Содержимое, которое может
    быть многострочным

!!! quote "Заголовок статичной врезки"
    Содержимое, которое может
    быть многострочным

=== "Свёрнутые"

??? note "Заголовок свёрнутой врезки"
    Содержимое, которое может
    быть многострочным

??? abstract "Заголовок свёрнутой врезки"
    Содержимое, которое может
    быть многострочным

??? info "Заголовок свёрнутой врезки"
    Содержимое, которое может
    быть многострочным

??? tip "Заголовок свёрнутой врезки"
    Содержимое, которое может
    быть многострочным

??? success "Заголовок свёрнутой врезки"
    Содержимое, которое может
    быть многострочным

??? question "Заголовок свёрнутой врезки"
    Содержимое, которое может
    быть многострочным

??? warning "Заголовок свёрнутой врезки"
    Содержимое, которое может
    быть многострочным

??? failure "Заголовок свёрнутой врезки"
    Содержимое, которое может
    быть многострочным

??? danger "Заголовок свёрнутой врезки"
    Содержимое, которое может
    быть многострочным

??? bug "Заголовок свёрнутой врезки"
    Содержимое, которое может
    быть многострочным

??? example "Заголовок свёрнутой врезки"
    Содержимое, которое может
    быть многострочным

??? quote "Заголовок свёрнутой врезки"
    Содержимое, которое может
    быть многострочным

=== "Сворачиваемые"

???+ note "Заголовок развёрнутой врезки"
    Содержимое, которое может
    быть многострочным

???+ abstract "Заголовок развёрнутой врезки"
    Содержимое, которое может
    быть многострочным

???+ info "Заголовок развёрнутой врезки"
    Содержимое, которое может
    быть многострочным

???+ tip "Заголовок развёрнутой врезки"
    Содержимое, которое может
    быть многострочным

???+ success "Заголовок развёрнутой врезки"
    Содержимое, которое может
    быть многострочным

???+ question "Заголовок развёрнутой врезки"
    Содержимое, которое может
    быть многострочным

???+ warning "Заголовок развёрнутой врезки"
    Содержимое, которое может
    быть многострочным

???+ failure "Заголовок развёрнутой врезки"
    Содержимое, которое может
    быть многострочным

???+ danger "Заголовок развёрнутой врезки"
    Содержимое, которое может
    быть многострочным

???+ bug "Заголовок развёрнутой врезки"
    Содержимое, которое может
    быть многострочным

???+ example "Заголовок развёрнутой врезки"
    Содержимое, которое может
    быть многострочным

???+ quote "Заголовок развёрнутой врезки"
    Содержимое, которое может
    быть многострочным

=== "Короткие"

!!! note
    Дефолтный заголовок

!!! abstract ""
    Пустой заголовок

!!! info "Пустое содержимое"

=== "Кастомные"

??? image "Врезка для скриншота"
    Тут должна быть картинка

!!! boosty "Врезка Boosty"
    Тут должна быть релевантная информация

!!! yoomoney "Врезка Yoomoney"
    Тут должна быть релевантная информация