tarampampam/templates-builder

v1.0.16 2018-06-22 11:51 UTC

README

logo

Projects templates builder

Version Version Build Status Coverage Code quality Downloads count License

Использование данного пакета упрощает и ускоряет развертывание однотипных приложений, базовая структура которых (скелетон) уже устоялась и используется неоднократно.

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

Install

Require this package with composer using the following command:

$ composer global require tarampampam/templates-builder "^1.0"

Installed composer is required (how to install composer).

You need to fix the major version of package.

For the next package updates just make:

$ composer global update tarampampam/templates-builder

Создание директории для собственных шаблонов

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

$ mkdir "$HOME/.php-builder-templates"

Создание алиаса вызова

Вы можете создать алиас с помощью следующего "однострочника":

$ BUILDER_BIN="$(composer config -g home)/vendor/bin/templates-builder"; if [ -x "$BUILDER_BIN" ]; then echo -e "function templates-builder() {\n  $BUILDER_BIN --templates-dir=\"\$HOME/.php-builder-templates\" \"\$@\"\n}" >> "$HOME/.bash_aliases"; else echo "Error"; fi;

Данная команда создаст в файле ~/.bash_aliases bash-функцию templates-builder, которая позволит вам находясь в любой директории вызывать bin-файл данного пакета без необходимости "ручного" указания использования директории для собственных шаблонов.

Так же стоит помнить, что как в различных дистрибутивах linux, так и при использовании различных shell-ов метод регистрации алиасов может разниться.

После этого необходимо перезапустить терминал и проверить работоспособность алиаса выполнением в терминале:

$ templates-builder

Использование

Исполняемый (bin) файл данного пакета поддерживает следующие команды:

Команда Описание
templates Выводит список всех доступных шаблонов
build Производит "установку" выбранного шаблона по указанному пути

Более подробно о каждой команде и параметрах её вызова вы можете узнать, выполнив её с опцией --help, например:

$ templates-builder templates --help
# или
$ ~/.composer/vendor/bin/templates-builder build --help
# или
$ templates-builder b --help

При выполнении "установки" шаблона в указанной директории - если шаблон поддерживает динамическую замену регулярных вхождений - о каждой замене пользовалелю будет задан интерактивный запрос.

Создание собственных шаблонов

Шаблон - это директория (имя которой является именем шаблона), содержащая специальный файл metadata.json (далее по тексту - мета-файл), который описывает шаблон, и исходный код самого шаблона.

Файловая структура его может быть следующая:

$HOME
└── .php-builder-templates
    └── example-template
        ├── metadata.json
        └── src
            ├── script.sh
            └── README.md
  • example-template - имя шаблона;
  • metadata.json - его мета-файл;
  • src - директория с файлами шаблона;

Структура мета-файла должна иметь следующий вид:

{
    "description": "Example template",
    "sources-dir": "src",
    "replaces": [
        {
            "signature": "{%custom_value_1%}",
            "description": "Custom value 1 description"
        },
        {
            "signature": "{%custom_value_2%}",
            "description": "Custom value 2 description",
            "default": "Default value 2"
        }
    ]
}
Имя поля мета-файла Описание
description Краткое описание шаблона
sources-dir Относительный путь к директории к файлам шаблона (по умолчанию src)
replaces Правила замен регулярных вхождений (регулярные выражения не поддерживаются) шаблона в формате, описанном в примере выше

Создав подобный шаблон в директории $HOME/.php-builder-templates вы сможете его "разворачивать" при помощи данного приложения командой:

$ ~/.composer/vendor/bin/templates-builder b /path/to/target example-template
# или
$ templates-builder build /path/to/target example-template

Если в директории шаблона находятся файлы, чьи имена заканчивается на .tpl-stub (например - .gitignote.tpl-stub), то при его разворачивании они автоматически будут переименованы в имена без данного окончания (то есть .gitignote.tpl-stub станет .gitignote).

Testing

For package testing we use phpunit framework. Just write into your terminal:

$ git clone git@github.com:tarampampam/templates-builder.git ./templates-builder && cd $_
$ composer install
$ composer test

Changes log

Release date Commits since latest release

Changes log can be found here.

Support

Issues Issues

If you will find any package errors, please, make an issue in current repository.

License

This is open-sourced software licensed under the MIT License.