Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

component-builder-hbs

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

component-builder-hbs

Component builder plugin to parse Handlebars templates

  • 0.2.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

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

<b>Hello {{name}}</b><br>
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

{
	"name": "AndiOxidant",
	"msg": {
		"greeding": "Hello"
	}
}

Place a {{$ "key"}} placeholder into your .hbs templates

<h1>{{$ "msg.greeding"}} {{$ "name"}}</h1>

Enable i18n support in your component.json by adding a hbsConfig option.

{
	...
	"hbsConfig": {
		"i18n": true
	},
	"hbs": [
		"template.hbs",
		"second-template.hbs"
	]
}

Run the component build with i18n

HBS_LANG=en-US
component build --use component-builder-hbs --name build.en.js

HBS_LANG=de-DE
component build --use component-builder-hbs --name build.de.js

HBS_LANG=se-SE
component 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

<script type="text/javascript">
	var lang;
	switch (navigator.language) {
		case 'de-DE':
			lang = 'de';
			break;
		case 'se-SE':
			lang = 'se';
			break;
		default:
			lang = 'en';
	}
	document.write('<script type="text/javascript" src="build/build.' + lang + '.js"></script>');
</script>

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

Keywords

FAQs

Package last updated on 30 Aug 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc