Общие шаблоны
Общий шаблон — кусок шаблона, который хранится отдельно и вставляется в другие шаблоны по имени. Одна шапка для всех команд, одна карточка профиля, одна библиотека макросов — правите в одном месте, меняется везде.
Где создать
Раздел «Команды» → вкладка «Общие шаблоны» → «+ Новый шаблон».
| Поле | Описание |
|---|---|
| Имя | Латиница в нижнем регистре, цифры, - и _, до 32 символов. По нему шаблон подключается |
| Описание | Для себя |
| Шаблон | Сам текст, до 16 КБ |
На вкладке «Где используется» видно, какие команды подключают этот шаблон. Удалить шаблон, который где-то используется, нельзя — панель покажет список зависимых команд.
Как подключить
{% include 'club-header' %}Текст общего шаблона встанет на место тега. Подробно о вариантах scoped и with — в описании тега include.
Библиотека макросов
Самый полезный прием — хранить в общем шаблоне макросы и подключать их там, где нужно.
Общий шаблон utils:
{% macro medal(place) -%}
{%- if place == 1 %}🥇{% elseif place == 2 %}🥈{% elseif place == 3 %}🥉{% else %}{{ place }}.{% endif -%}
{%- endmacro %}
{% macro coins(n) -%}
{{- n | number_format }} {{ plural(n, 'ru', 'монета', 'монеты', 'монет', 'монеты') -}}
{%- endmacro %}Команда:
{% include 'utils' %}
{% set page = chat.indexes.balances.getPageOf(0, 10, 'DESC') %}
{% for e in page %}
{{ medal(loop.index) }} {{ mention(e.key) }} — {{ coins(e.value) }}
{% endfor %}Пустая строка внутри цикла отделяет строки топа друг от друга: в режиме Rich строки без пустой строки между ними Markdown может склеить в один абзац.
Какие данные видит общий шаблон
Те же, что и шаблон, в который его вставили: в команде — member, arguments, parameters; в приветствии — member и event.
Ограничения
- До 50 общих шаблонов в чате.
- За одно выполнение — до 5 вставок, каждый шаблон — один раз.
- Если подключить несуществующий шаблон, редактор покажет ошибку
include_not_found.