minicli / command-stencil
A Minicli command to generate files based on minicli/stencil templates
Requires
- minicli/minicli: ^3.1
- minicli/stencil: ^0.1.0
Requires (Dev)
- pestphp/pest: ^1.21
README
Command implementation of minicli/stencil. This command will generate files based on Stencil templates. It is useful for creating boilerplate files such as new classes and other documents that should follow a certain structure or template.
Usage
First, import this command with Composer:
composer require minicli/command-stencil
Then, edit your app's config to include @minicli/command-help
within your app_path
definitions.
You'll also need to set the stencilDir
config variable and point it to your Stencils directory. For instance:
$app = new App([ 'app_path' => [ __DIR__ . '/app/Command', '@minicli/command-stencil' ], 'stencilDir' => __DIR__ . '/stencils', 'debug' => true ]);
You should now be able to run the ./minicli stencil
command.
Testing templates
You can copy the example template from vendor/minicli/command-stencil/stencils/example.tpl
to test it out:
cp ./vendor/minicli/command-stencil/stencils/example.tpl ./stencils
Then, run ./minicli stencil
with the template set to example
, providing the expected variable name
:
./minicli stencil template=example name=YourName
Hello YourName!%
Output content to a file
Include an output=full-path-to-file
to save the parsed content to a file:
./minicli stencil template=example name=YourName output=test.txt
Hello YourName!%
You should see a file named test.txt
with the same output of the command. To suppress the command output, set debug
to false
in the app's configuration.