Переменные

Объявить переменную можно одним из способов:

Ниже рассмотрены варианты использования переменных в документе.

Подстановки

Чтобы подставить значение переменной в текст, отделите ее имя с двух сторон двойными фигурными скобками.

Какой-то текст {{ имя_переменной }} продолжение текста.

Если текст содержит двойные фигурные скобки, но не предполагает подстановку переменной, добавьте перед конструкцией 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!