Переменные
Объявить переменную можно одним из способов:
- передать в настройках при сборке документации;
- описать в файле с пресетами переменных.
Ниже рассмотрены варианты использования переменных в документе.
Подстановки
Чтобы подставить значение переменной в текст, отделите ее имя с двух сторон двойными фигурными скобками.
Какой-то текст {{ имя_переменной }} продолжение текста.
Если текст содержит двойные фигурные скобки, но не предполагает подстановку переменной, добавьте перед конструкцией not_var
.
Какой-то текст not_var{{ тоже_текст }} продолжение текста.
Условные операторы
Вы можете испоьзовать условные операторы if
, else
и elsif
, чтобы включать в документ определенные фрагменты текста в зависимости от значения переменных. Например, чтобы собрать две версии документа для разных ОС.
{% if OS == 'iOS' %}
Скачайте приложение в [App Store](https://www.apple.com/ios/app-store/).
{% else %}
Скачайте приложение в [Google Play](https://play.google.com).
{% endif %}
Условные операторы могут применяться не только к блокам текста, но и к фрагментам текста внутри строк.
Какой-то текст {% if OS == 'iOS' %} Apple {% else %} Android {% endif %} продолжение текста.
Циклы
Используйте циклы, чтобы выводить повторяющийся контент для каждого элемента массива. Внутри цикла обращайтесь к элементу как к обычной переменной, используя синтаксис для подстановки.
{% for имя_переменной in имя_массива %}
Какой-то текст {{ имя_переменной }} продолжение текста.
{% endfor %}
Примеры использования циклов
Пусть в файле с пресетами переменных задан массив users
:
default:
users:
- Alice
- Mark
Тогда использование циклов приведет к следующим результатам:
Prefix {% for user in users %} not_var{{user}} {% endfor %} Postfix
Prefix Alice Mark Postfix
Prefix
{% for user in users %}
not_var{{user}}
{% endfor %}
Postfix
Prefix
Alice
Mark
Postfix
Фильтры
Чтобы применить фильтр, добавьте к переменной оператор |
и название фильтра. Оператор с двух сторон отделяется пробелами.
Фильтр | Описание |
---|---|
capitalize |
Приводит к верхнему регистру первую встретившуюся букву в значении переменной. |
length |
Вычисляет длину значения переменной. |
Примеры использования фильтров
Пусть в файле с пресетами переменных заданы:
default:
user:
name: alice
users:
- Alice
- Mark
Тогда использование фильтров приведет к следующим результатам:
Hello not_var{{ user.name | capitalize }}!
Hello Alice!
not_var{{ users | length }}
not_var{{ user.name | length }} | length
2
5
Функции
Чтобы вызвать функцию, добавьте к переменной символ .
, укажите ее название и передайте необходимые параметры в скобках ()
.
Функция slice(beginIndex, endIndex)
- возвращает заданную часть исходного массива в виде нового объекта массива.
Параметры:
beginIndex
— индекс элемента, с которого начинается выделение (нумерация с 0).endIndex
— индекс элемента, на котором заканчивается выделение (нумерация с 0).
Если параметр не указан, выбираются все элементы от начальной позиции и до конца массива.
Примеры использования функций
Пусть в файле с пресетами переменных заданы:
default:
user:
name: Masha
Тогда использование функций приведет к следующим результатам:
Hello Pnot_var{{ user.name.slice(1) }}!
Hello Pnot_var{{ user.name.slice(1, 2) }}vel!
Hello Pasha!
Hello Pavel!