Example #1
0
File: index.js Project: Ajusa/ajcss
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;
};
Example #2
0
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);
	}