amdblah-hbs-helpers

A small collection of Handlebars helpers run in both the server(nodejs) and client(browser).

Amdblah Handlebars helpers

A small collection of Handlebars helpers run in both the server(nodejs) and client(browser).

#Installation

##Node.js

Install using npm:

$ npm install amdblah-hbs-helpers --save

Register all helpers with the following line of code:

require('amdblah-hbs-helpers');

##RequireJS in browser

Install using bower:

$ bower install amdblah-hbs-helpers --save

Configure RequireJS with SlexAxton/require-handlebars-plugin

require.config({
    ...
    paths : {
        ...
        'hbs.helpers' : 'path_to_bower_components/amdblah-hbs-helpers/dist'
        ...
    }
    'hbs' : {
        …
        helpers : true,
        helperDirectory : 'hbs.helpers/'
    }
    ...
}

#Usage

Please refer to projects below:

danharper/Handlebars-Helpers

raDiesle/Handlebars.js-helpers-collection

##Helper changes

###i18next

i18next translation helper

####i18n_t

{{i18n_t "your_key"}}

Pass local i18next into helper in nodejs

{{i18n_t "your_key" i18next=i18nextObj}}

####i18n_tr

{{#i18n_tr "your_key" add="from helper" }}
h6 Some Text
p some paragraph with variable __add__ __addFromContext__
{/i18n_tr}

Pass local i18next into helper in nodejs

{{#i18n_tr "your_key" add="from helper" i18next=i18nextObj}}
h6 Some Text
p some paragraph with variable __add__ __addFromContext__
{/i18n_tr}

###Moment.js

Format a datetime in milliseconds using Moment.js

####dateFormat

Display formatted datetime:

{{dateFormat datetime format="MMMM YYYY" timezone=timezoneOffset}

Display time from now

{{dateFormat datetime fromNow=true timezone=timezoneOffset}}

Pass local moment into helper in nodejs

{{dateFormat datetime format="MMMM YYYY" moment=momentObj timezone=timezoneOffset}
{{dateFormat datetime fromNow=true moment=momentObj timezone=timezoneOffset}}

Refer to the moment middleware in express.js.

  • 2014-09-10 v0.2.0 Update moment.js to version 2.8.x
  • 2014-06-04 v0.1.2 dateFormat timezone support

License

Most of the code in this is from danharper/Handlebars-Helpers , raDiesle/Handlebars.js-helpers-collection, i18next and moment . Those projects are under their own license. Any other code added by me is released under the WTFPL license. No warranty is provided.