exports.compile = function(str, options){ var options = options || {} str = String(str); var parsed = compileBody(str, { compileDebug: options.compileDebug !== false, filename: options.filename, basedir: options.basedir, pretty: options.pretty, doctype: options.doctype, inlineRuntimeFunctions: options.inlineRuntimeFunctions, globals: options.globals, self: options.self, includeSources: options.compileDebug === true, debug: options.debug, templateName: 'template', filters: options.filters, filterOptions: options.filterOptions, plugins: options.plugins, }); var res = options.inlineRuntimeFunctions ? new Function('', parsed.body + ';return template;')() : runtimeWrap(parsed.body); res.dependencies = parsed.dependencies; return res; };
exports.render = (str, opts) => { let templateName = 'template' let funcStr = generateCode(parse(lex(str)), { // compileDebug: false, pretty: true, indents: 2, // inlineRuntimeFunctions: false, templateName: templateName, ...opts }) return wrap(funcStr, templateName)() }
/** * Registers compiled (precompiled) Pug template. * http://pugjs.com/reference.html * @param {string} name Template name. * @param {string} compiled Compiled template source. */ registerCompiled(name, compiled) { this._templates[name] = pugRuntimeWrap(compiled); }