Generate Pug sources from a Pug AST. The resultant source may be different from the original Pug source, but the rendered output should be the same.
npm install pug-source-gen
var lex = require('pug-lexer');
var parse = require('pug-parser');
var genSource = require('pug-source-gen');
var source = `
include a
mixin myMixin(arg)
block
p&attributes(attributes) Paragraph: #[strong= arg]
html
head
body
p.klass(attr falseattr=false class=['myClass']) Introduction
+myMixin('Content').klass2
h1 Heading
`;
var ast = parse(lex(source));
var generatedSource = genSource(ast);
// =>
// include a
// mixin myMixin(arg)
// block
// p&attributes(attributes) Paragraph: #[strong= arg]
// html
// head
// body
// p.klass(attr falseattr=false class=['myClass']) Introduction
// +myMixin('Content').klass2
// h1 Heading
MIT