-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathindex.js
32 lines (24 loc) · 981 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
var handlebars = require('handlebars');
var createHandlebarsPreprocessor = function(logger, basePath) {
var log = logger.create('preprocessor.handlebars');
return function(content, file, done) {
var processed = null;
log.debug('Processing "%s".', file.originalPath);
file.path = file.originalPath.replace(/\.hbs$/, '.js');
var templateName = file.originalPath.replace(/^.*\/([^\/]+)\.hbs$/, '$1');
try {
processed = "(function() {var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};"
+ "templates['" + templateName + "'] = template("
+ handlebars.precompile(content)
+ ");})();";
} catch (e) {
log.error('%s\n at %s', e.message, file.originalPath);
}
done(processed);
};
};
createHandlebarsPreprocessor.$inject = ['logger', 'config.basePath'];
// PUBLISH DI MODULE
module.exports = {
'preprocessor:handlebars': ['factory', createHandlebarsPreprocessor]
};