Underscore contrib style handlebars helper functions. Adds helper functions to your handlebars templates as well as in your javascript.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
spec
src
.gitignore
.jshintrc
.travis.yml
Gruntfile.js
LICENSE
README.md
SpecRunner.html
package.json

README.md

handlebars-contrib

Build Status

Build Status

About

Underscore contrib style handlebars helper functions. Adds helper functions to your handlebars templates as well as in your javascript.

String Helpers

Capitalize

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}}

Capitalize All

var strings = require("handlebars.strings");

strings.capitalize_all("john smith");
// John Smith
{{capitalize-all this.name}}

Normalize Spaces

var strings = require("handlebars.strings");

strings.normalize_spaces("This   is a    sentence.");
// This is a sentence.
{{normalize-spaces this.summary}}

To URL Slug

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>

Match

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}}

Math Helpers

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.

Calculate

The supported operators are [+, -, /, *, %]

{{calculate this.costOfCookies '+' this.costOfMilk}}
{{calculate this.totalPrice '*' this.taxRate}}

Compare

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}}