Gulp Static Handlebars
Reads data, partials and helpers from asynchronous sources like a databases, file systems, or promises.
Example with any A+ compatible promises library:
function getData() { return Promise.resolve({contents: 'whatever'});} function getHelpers() { return Promise.resolve({menu: function(options) { return 'menu!'; }});} function getPartials() { return Promise.resolve({header: '<header></header>', footer: '<footer></footer>'});} gulp.src('./app/index.hbs') .pipe(handlebars(getData(), {helpers: getHelpers(), partials: getPartials()})) .pipe(gulp.dest('./dist'));
Another example with vinyl pipes
gulp.src('./app/index.hbs') .pipe(handlebars({contents:"whatever"}, { helpers: gulp.src('./app/helpers/**/*.js'), partials: gulp.src('./app/partials/**/*.hbs') })) .pipe(gulp.dest('./dist'));
Get/Set Handlebars Instance
var MyHandlebars = handlebars.instance() // get Handlebarshandlebars.instance(MyHandlebars) // use another Handlebars instance
Install
npm install gulp-static-handlebars
Running Tests
To run the basic tests, just run mocha
normally.
This assumes you've already installed the local npm packages with npm install
.
To Do:
- Support more handlebars options