Underscore contrib style handlebars helper functions. Adds helper functions to your handlebars templates as well as in your javascript.
Capitalize the first character of the first word in the string.
var strings = require("handlebars.strings");
strings.capitalize("this is a sentence.");
// This is a sentence.
{{capitalize this.firstName}}
var strings = require("handlebars.strings");
strings.capitalize_all("john smith");
// John Smith
{{capitalize-all this.name}}
var strings = require("handlebars.strings");
strings.normalize_spaces("This is a sentence.");
// This is a sentence.
{{normalize-spaces this.summary}}
var strings = require("handlebars.strings");
strings.to_url_slug("Blog Post title!");
// blog-post-title
<a href="localhost/blog/{{to-url-slug this.postTitle}}">post</a>
This helper is a conditional and fully supports the else
clause.
<!-- commonNameRegex = /^John/, for example -->
{{#match this.name this.commonNameRegex}}
<p>What a common name!</p>
{{else}}
<p>What a unique name!</p>
{{/match}}
While you can use these in javascript, they are really designed for use within the templates. The calculate method in javascript would be easier to do it directly.
The supported operators are [+, -, /, *, %]
{{calculate this.costOfCookies '+' this.costOfMilk}}
{{calculate this.totalPrice '*' this.taxRate}}
This helper is a conditional and fully supports the else
clause. The supported operators are [<, <=, >, >=, ==, !=, ===, !==]
.
{{#compare this.price '<=' this.budget}}
<p>Affordable</p>
{{else}}
<p>Too expensive :(</p>
{{/compare}}