Пресеты переменных

Статья создана
Обновлена 4 декабря 2025 г.

Пресеты — это наборы переменных с разными значениями.

Пресеты используются, чтобы поддерживать несколько вариантов документации с небольшими различиями из одних и тех же исходных файлов. Если в документации есть внутренняя информация, вы можете разметить контент и разделить информацию на два пресета: internal и external. Это упростит работу и ограничит доступ к конфиденциальным данным. Тогда не нужно будет хранить значения переменных в файлах сборки.

Порядок работы с пресетами:

  1. Опишите пресеты в файле presets.yaml.
  2. При сборке укажите название используемого пресета в параметре varsPreset.

Структура

Файл presets.yaml должен содержать пресет default. При вычислении переменных сначала учитываются значения, указанные в default. Затем на них накладываются значения из пресета, переданного при запуске сборки, так как он является приоритетным.

Переменные в пресете указываются в формате <имя переменной>: <значение переменной>.

default:
    position: Волшебник
internal:
    place: Изумрудный город
external:
    place: Страна Оз

Иерархия файлов пресетов

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

Совет

Рекомендуется использовать верхнеуровневые пресеты: наиболее близкие к корню проекта.

Пример

input-folder
|-- .yfm
|-- toc.yaml
|-- presets.yaml # файл 2
|-- index.yaml
|-- quickstart.md
|-- pages
    |-- presets.yaml # файл 1
    |-- faq.md
    |-- how-to.md

При сборке файла faq.md значения переменных из файла № 1 в приоритете над переменными из файла № 2.
При сборке файла quickstart.md будут учитываться только значения переменных из файла № 2.

Пример локальной сборки с переиспользованием

Чтобы собрать документ, выполните команду:

yfm -i ./<корневой каталог документа> -o ./<директория с итогом сборки> --varsPreset "<имя пресета>"

Если в вашем документе используются пресеты переменных, для каждого пресета сборку необходимо запускать отдельно.

Если в документе пресетов переменных нет — флаг --varsPreset использовать не нужно. В этом случае документ соберется со значением пресетов default.

В директории с итогом сборки появится одна папка с файлами в формате .html для выбранного пресета. Если запустить сборку с другими значениями в ту же директорию, файлы перезапишутся.

Предыдущая