NAME
Dancer::Template::Handlebars - Wrapper for the Handlebars template system
VERSION
version 0.2.2
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.
AUTHOR
Yanick Champoux <yanick@babyl.dyndns.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Yanick Champoux.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.