You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			| 
				
					
						 | 
			6 months ago | |
|---|---|---|
| .. | ||
| HISTORY.md | 6 months ago | |
| README.md | 6 months ago | |
		
			
				
				README.md
			
		
		
	
	pug-code-gen
Default code-generator for pug. It generates HTML via a JavaScript template function.
Installation
npm install pug-code-gen
Usage
var generateCode = require('pug-code-gen');
generateCode(ast, options)
Generate a JavaScript function string for the given AST.
ast is a fully expanded AST for Pug, with all inclusion, extends, and filters resolved.
options may contain the following properties that have the same meaning as the options with the same names in pug:
- pretty (boolean): default is 
false - compileDebug (boolean): default is 
true - doctype (string): default is 
undefined - inlineRuntimeFunctions (boolean): default is 
false - globals (array of strings): default is 
[] - self (boolean): default is 
false 
In addition to above, pug-code-gen has the following unique options:
- includeSources (object): map of filename to source string; used if 
compileDebugistrue; default isundefined - templateName (string): the name of the generated function; default is 
'template' 
var lex = require('pug-lexer');
var parse = require('pug-parser');
var wrap = require('pug-runtime/wrap');
var generateCode = require('pug-code-gen');
var funcStr = generateCode(parse(lex('p Hello world!')), {
  compileDebug: false,
  pretty: true,
  inlineRuntimeFunctions: false,
  templateName: 'helloWorld'
});
//=> 'function helloWorld(locals) { ... }'
var func = wrap(funcStr, 'helloWorld');
func();
//=> '\n<p>Hello world!</p>'
new generateCode.CodeGenerator(ast, options)
The constructor for the internal class of the code generator. You shouldn't need to use this for most purposes.
License
MIT