Template engine designed with first class support for layouts and macros with easy passing of text blocks.
- Syntax - Stencil features a compact syntax that uses a single character ('$') to inctroduce dynamic regions.
- Blocks - Passing around blocks of text is at the cornerstone of the Stencil language. Block syntax allows the succinct creation and passing of blocks of text to macros and included templates.
- Macros - Stencil has advanced support for creating macros that accept both parameters and blocks.
- Layouts - Layout support is built into the heart of Stencil and based on the block passing syntax. It allows fast & easy creation of layouts of unlimited quantity.
- Functions - Stencil allows the simple creation of functions that execute it's simple expression language.
- Expression - Advanced expressions that have support for all classical statements like loops and conditions, as well as complex literals like like maps and list, along with advanced operators like elvis and safe-navigation that make simplify template writing.