NAME
JavaScript::V8::Handlebars - Compile and execute Handlebars templates
via the actual JS library
SYNOPSIS
use JavaScript::V8::Handlebars
my $hbjs = JavaScript::V8::Handlebars->new;
print $hbjs->render_string( "Hello {{var}}", { var => "world" } );
my $template = $hbjs->compile_file( "template.hbs" );
print $template->({ var => "world" });
METHODS
For now the majority of these methods work as described in
$hbjs->new()
$hbjs->c()
Returns the internal JavaScript::V8 object, useful for executing
javascript code in the context of the module.
$hbjs->eval($javascript_string)
Wrapper function for "$hbjs-"c->eval> that checks for errors and
throws an exception.
$hbjs->add_to_context_file($javascript_filename)
$hbjs->add_to_context($javascript_string)
Shortcut for evaluating javascript intended to add global functions
and objects to the current environment.
$hbjs->precompile_file($template_filename)
$hbjs->precompile($template_string)
Takes a template and translates it into the javascript code suitable
for passing to the "template" method.
$hbjs->compile_file($template_filename)
$hbjs->compile($template_string)
Takes a template and returns a subref that takes a hashref
containing variables as an argument and returns the text of the
executed template.
$hbjs->registerHelper
TBD
$hbjs->template( $compiled_javascript_string | $compiled_perl_object )
Takes a precompiled template datastructure and returns a subref
ready to be executed.
$hbjs->render_string( $template_string, \%context_vars )
Wrapper method for compiling and then executing a template passed as
a string.
$hbjs->add_template_dir( $directory, [$extension] )
$hbjs->add_template_file( $filename, [$base_path] )
$hbjs->add_template( $name, $template_string )
Takes a template, compiles it and adds it to the internal store of
cached templates for "execute_template" to use.
$hbjs->execute_template( $name, \%context_vars )
Executes a cached template.
$hbjs->precompiled()
Returns a string of javascript consisting of all the templates in
the cache ready for execution by the browser.
$hbjs->safeString($string)
Whatever the original Handlebar function does.
$hbjs->escapeString ($string)
Whatever the original Handlebar function does.
$hbjs->registerPartial($string)
Whatever the original Handlebar function does.
AUTHOR
Robert Grimes, ""
BUGS
Please report and bugs or feature requests through the interfaces at
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc JavaScript::V8::Handlebars
LICENSE AND COPYRIGHT
Copyright 2015 Robert Grimes.
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
SEE ALSO
,