UNPKG

templatizer

Version:

Simple solution for compiling jade templates into vanilla JS functions for blazin' fast client-side use.

28 lines (23 loc) 765 B
var path = require('path'); var bracketedName = require('./bracketedName'); var beautify = require('./beautify'); function toFileName(name) { return name.replace(/\./g, path.sep); } function toVarName(name) { return bracketedName(name.split('.')); } module.exports = function (options) { var fileName = toFileName(options.dir) + '.jade'; var varName = toVarName(options.dir); if (options.mixinName) { fileName += ':' + toFileName(options.mixinName); varName += toVarName(options.mixinName); } return [ '', '// ' + fileName + ' compiled template', beautify(options.rootName + varName + ' = ' + options.fn + (options.fn.toString().slice(-1) === ';' ? '' : ';')), '' ].join('\n'); };