pug-code-gen
Default code-generator for pug. It generates HTML via a JavaScript template function.
Last updated 5 years ago by pug-bot .
MIT · Repository · Original npm
$ cnpm install pug-code-gen 
SYNC missed versions from official npm registry.

pug-code-gen

Default code-generator for pug. It generates HTML via a JavaScript template function.

Dependencies Status npm version

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 compileDebug is true; default is undefined
  • 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

Current Tags

  • 3.0.1-canary-3                                ...           canary (5 years ago)
  • 3.0.1                                ...           latest (5 years ago)

4 Versions

  • 3.0.0-canary-2                                ...           5 years ago
  • 3.0.1                                ...           5 years ago
  • 3.0.1-canary-3                                ...           5 years ago
  • 2.0.2                                ...           6 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (8)
Dev Dependencies (0)
None
Dependents (0)
None

Copyright 2013 - present © cnpmjs.org