Templaer — универсальный CLI шаблонизатор конфигурационных файлов, основанный на Jinja2

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Templaer

Templaer - универсальный CLI шаблонизатор конфигурационных файлов, основанный на Jinja2.

  • GitHub - https://github.com/denisxab/templaer

  • Pip - https://pypi.org/project/templaer/

Аналоги

Существует множество инструментов, основанных на Jinja2, которые можно использовать для шаблонизации конфигурационных файлов через CLI. Вот несколько примеров:

  • j2cli: это инструмент командной строки, который позволяет использовать Jinja2 для создания конфигурационных файлов. Он может принимать данные из файлов или стандартного ввода и применять их к шаблонам, включая конфигурационные файлы.

  • cookiecutter: это инструмент командной строки, который использует Jinja2 для генерации проектных шаблонов. Он также может использоваться для создания конфигурационных файлов. cookiecutter может быть установлен через pip.

  • ansible: это инструмент автоматизации, который использует Jinja2 для шаблонизации конфигурационных файлов и других файлов, используемых в автоматизации. ansible может быть установлен через pip.

  • SaltStack: это инструмент автоматизации, который использует Jinja2 для шаблонизации конфигурационных файлов и других файлов, используемых в автоматизации. SaltStack также может быть установлен через pip.

  • mustpl : https://habr.com/ru/post/684898/

Я создал Templaer потому что им удобнее пользоваться, и так как он на Python, его можно гибко кастомизировать. Если вам нравиться использовать другие шаблонизаторы конфигураций, то используйте их.

Установка

  1. Установить templaer

    pip install templaer
  2. Получить подсказку по CLI

    python -m templaer

Можете создать алиас в .bashrc/.zshrc для этой команды

alias templaer="python -m templaer"

Примеры CLI

В файле context.json хранятся данные для шаблонов. В простом варианте это может быть словарь. Ключ - это имя переменной, значение ключа - это значение переменной.

{
    "DEBUG": false,
    "PORT_D": 8080,
    "PORT_R": 80
}

Пример шаблонного файла. Предлагаю для них указывать расширение .tpl. В данном случае этот файл называется nginx.conf.tpl

server {
    listen {{ PORT_R }};
    server_name "localhost";

    location / {
        default_type text/html;
        return 200 'ok';
    }
}
  • Собрать указанные файлы (можно указывать несколько файлов).

    python -m templaer -c context.json -f Файл1.conf.tpl Файл2.tpl
  • Поиск в указанной директории всех файлов, которые оканчиваются на .tpl, и сборка этих файлов (можно указывать несколько директорий).

    python -m templaer -c context.json -d Папка  
Источник: https://habr.com/ru/post/717996/


Интересные статьи

Интересные статьи

Цель статьи, – показать примеры управления реализацией стратегии с помощью корпоративной единой информационной площадки на доступном инструменте, - Битрикс24. В статье на простом языке обсуждаются воз...
TLDR: приложение можно скачать и потестить тутЭта статья является дополненной и сильно расширенной версией моей статьи в TowardsDataScience о создании приложения, использ...
Есть статьи о недостатках Битрикса, которые написаны программистами. Недостатки, описанные в них рядовому пользователю безразличны, ведь он не собирается ничего программировать.
Получить трафик для интернет-магазина сегодня не проблема. Есть много каналов его привлечения: органическая выдача, контекстная реклама, контент-маркетинг, RTB-сети и т. д. Вопрос в том, как вы распор...
Cтатья будет полезна тем, кто думает какую выбрать CMS для интернет-магазина, сравнивает различные движки, ищет в них плюсы и минусы важные для себя.