vayne 0.0.46

Mustache-inspired template compiler and interpreter for D

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

Vayne - Mustache-inspired template compiler and interpreter for D

Vayne has been written mainly for use with vibe.d but it can be used in any other way. It is the successor to jax, a compile-time solution.

Compiles source text/html into bytecode to be interpreted at run time.


  • HTML compressor
  • Parametrized macros
  • Good and detailed error reporting
  • Supports user defined escaping and translation
-r --print-preparse print preparser result
-a      --print-ast print ast
-i   --print-instrs print generated instructions
-k   --print-consts print generated constant slots
-b --print-bytecode print generated bytecode and instructions
-t           --time display elapsed time
-v        --verbose verbose output
-c       --compress compress HTML in between template tags
-o     --output-dir output directory
-d  --dep-cache-dir dependant-cache directory
-g   --dep-gen-only only generate dependant-cache, do not re-compile dependants
-j         --search search path(s) to look for source files
-e    --default-ext default source file extension (defaults to .html)

{{& fileName }} - Include external template file
{{% fileName }} - Embed external raw file
{{%% fileName }} - Embed external file as mime-encoded content
{{* key, value; iterable }} {{key}} {{value}} {{/}} - Iterate any iteratable symbol
{{? expr }} true case {{: [expr] }} else case {{/}}
{{@ expr0, expr2 as ident }} - Create symbol scopes or named copy of expressions. For symbol scopes, expression must evalute to an object or associative array.
{{! comment }} - Comment
{{ expr }} - Write expression to output with automatic HTML escaping
{{{ expr }}} - Write expression to output without escaping
{{~ message-id-expr, arg0+ }} - Translate message-id with arguments and output - use triple brackets to disable escaping
{{#def myMacro(arg) }} macro text {{#arg}} {{#/}}
{{#myMacro("mooo") }} - Expand a macro

Check the example directory for a working example.

  • Márcio Martins
0.0.46 2019-Dec-12
0.0.45 2019-Jan-16
0.0.44 2018-Dec-19
0.0.43 2018-Sep-17
0.0.42 2018-Sep-13
Show all 49 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 1817 downloads total

Short URL: