Skip to content

Instantly share code, notes, and snippets.

@hail2u
Last active June 13, 2021 21:54
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save hail2u/8926962 to your computer and use it in GitHub Desktop.
Save hail2u/8926962 to your computer and use it in GitHub Desktop.
Load mustache partials from file.
Hey {{name}}! This is bar.
Hey {{name}}! This is foo.
'use strict';
var fs = require('fs');
var mustache = require('mustache');
// var hbs = require('handlebars');
var path = require('path');
var template = '{{>foo}}{{>bar}}';
var data = {'name':'John'};
var rendered = mustache.render(template, data, _loadSharedPartials());
// var render = hbs.compile(template);
// var rendered = render(data, {
// partials: _loadSharedPartials()
// });
console.log(rendered);
function _loadSharedPartials() {
var partials = {};
var files = fs.readdirSync('./');
for (var i = 0, l = files.length; i < l; i++) {
var file = files[i];
if (file.match(/\.partial\.mustache$/)) {
var name = path.basename(file, '.partial.mustache');
partials[name] = fs.readFileSync(file, {
encoding: 'utf8'
});
}
}
return partials;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment