|  root
				
				3bf41bf355
				update | 2 years ago | |
|---|---|---|
| .. | ||
| lib | 2 years ago | |
| HISTORY.md | 2 years ago | |
| LICENSE | 2 years ago | |
| README.md | 2 years ago | |
| index.js | 2 years ago | |
| package.json | 2 years ago | |
The pug parser (takes an array of tokens and converts it to an abstract syntax tree)
npm install pug-parser
var parse = require('pug-parser');
parse(tokens, options)Convert Pug tokens to an abstract syntax tree (AST).
options can contain the following properties:
filename (string): The name of the Pug file; it is included in the produced AST nodes and error handling, if provided.plugins (array): An array of plugins, in the order they should be applied.src (string): The source of the Pug file; it is used in error handling if provided.var lex = require('pug-lexer');
var filename = 'my-file.pug';
var src = 'div(data-foo="bar")';
var tokens = lex(src, {filename});
var ast = parse(tokens, {filename, src});
console.log(JSON.stringify(ast, null, '  '))
{
  "type": "Block",
  "nodes": [
    {
      "type": "Tag",
      "name": "div",
      "selfClosing": false,
      "block": {
        "type": "Block",
        "nodes": [],
        "line": 1,
        "filename": "my-file.pug"
      },
      "attrs": [
        {
          "name": "data-foo",
          "val": "\"bar\"",
          "line": 1,
          "column": 5,
          "filename": "my-file.pug",
          "mustEscape": true
        }
      ],
      "attributeBlocks": [],
      "isInline": false,
      "line": 1,
      "column": 1,
      "filename": "my-file.pug"
    }
  ],
  "line": 0,
  "filename": "my-file.pug"
}
new parse.Parser(tokens, options)Constructor for a Parser class. This is not meant to be used directly unless you know what you are doing.
options may contain the following properties:
filename (string): The name of the Pug file; it is included in the produced AST nodes and error handling, if provided.plugins (array): An array of plugins, in the order they should be applied.src (string): The source of the Pug file; it is used in error handling if provided.MIT