SYNOPSIS

       # in config.yml
      template: handlebars

      engines:
           handlebars:
               helper_modules:
                   - MyApp::HandlebarsHelpers

      # in the app
      get '/style/:style' => sub {
          template 'style' => {
              style => param('style')
          };
      };

      # in views/style.mustache
      That's a nice, manly {{style}} mustache you have there!

DESCRIPTION

   Wrapper for Text::Handlebars, the Perl implementation of the Handlebars
   templating system.

Configuration

   The arguments passed to the 'handlebars' engine are given directly to
   the Text::Handlebars constructor, with the exception of helper_modules
   (see below for details).

Calls to 'template()'

   When calling template, one can use a filename as usual, or can pass a
   string reference, which will treated as the template itself.

       get '/file' => sub {
           # look for the file views/my_template.hbs
           template 'my_template', {
               name => 'Bob',
           };
       };

       get '/string' => sub {
           # provide the template directly
           template \'hello there {{name}}', {
               name => 'Bob',
           };
       };

   The default extension for Handlebars templates is 'hbs'.

Helper Functions

   Handlebars helper functions can be defined in modules, which are passed
   via helper_modules in the configuration. See
   Dancer::Template::Handlebars::Helpers for more details on how to
   register the functions themselves.

Layouts

   Layouts are supported. The content of the inner template will be
   available via the 'content' variable.

   Example of a perfectly valid, if slightly boring, layout:

       <html>
       <body>
           {{ content }}
       </body>
       </html>

SEE ALSO

   Dancer::Template::Mustache - similar Dancer wrapper for
   Template::Mustache.