component-builder-hbs
Component builder plugin to parsing Handlebars templates with i18n localisation and Handlebars helper support.
Usage
Installation
npm install component-builder-hbs
Create templates
Hello {{name}}How are you?
Configuration
add a hbs block to your component.json
... "hbs": "templates/template.hbs" "templates/secondTemplate.hbs"
Using plugin
Use component-builder-hbs during the component build
component build --use component-builder-hbs
i18n support
Component Builder HBS plugin comes with localization support.
Create a folder named locales
in your component root. Add for each language one .json file
For a custom locales dir, set the path with hbsConfig.locales
in your component.json
locales/ en-US.json de-DE.json se-SE.json
Now, you can add nested key/values pairs into your language files
Place a {{$ "key"}}
placeholder into your .hbs templates
{{$ "msg.greeding"}} {{$ "name"}}
Enable i18n support in your component.json by adding a hbsConfig
option.
Run the component build with i18n
HBS_LANG=en-UScomponent build --use component-builder-hbs --name build.en.js HBS_LANG=de-DEcomponent build --use component-builder-hbs --name build.de.js HBS_LANG=se-SEcomponent build --use component-builder-hbs --name build.se.js
And you gets several buils.js files. One for each language :)
Include the needed file in the index.html
All component.json configuration options
"hbsConfig": "i18n": true //Enables localisation support "locales": "./locales" //Set a custom locales dir, defaults to ./locales "helper": "./helper" //Set a custom dir for Handlebars helper "defaultLang": "en-US" //Sets the default language, defaults to en-US "hbs": //Define all hbs templates "main.hbs"
Licence
Copyright (c) 2013 by Andi Heinkelein, NonameMedia
Licensed under the MIT license