All Projects → mixu → htmlparser-to-html

mixu / htmlparser-to-html

Licence: other
Converts the JSON that the htmlparser/htmlparser2 package produces back to HTML

Programming Languages

javascript
184084 projects - #8 most used programming language

htmlparser-to-html

Converts the JSON that htmlparser (and probably htmlparser2) produces back to HTML.

Useful if you're doing some sort of transformation.

Tests are based on reversing the parser tests in htmlparser, so they are quite comprehensive.

API

Returns a single function html(tree, [parent, mapFn]) which returns a html string.

Optionally, you can apply a function to each element just before they are converted to HTML - for example, converting items that are not in the right format into htmlparser-compatible input.

  • tree: a tree structure produced by htmlparser
  • parent: optional param - a parent element, only used for the mapFn.
  • mapFn: a function(item, parent) that is applied to each element just before the element is converted into html. The parent parameter is either the original value of the parent (default: null), or the parent element of this child element.

Configuration

htmlparser-to-html can be configured with the configure(config_object). The following configuration parmeters are available:

  • disableAttribEscape: Set to true to disable escaping the attribute values. (default is false)

Usage

var html = require('htmlparser-to-html');

console.log(html([
        {   type: 'tag'
          , name: 'html'
          , children:
             [ { type: 'tag'
               , name: 'title'
               , children: [ { data: 'The Title', type: 'text' } ]
               }
             , { type: 'tag'
               , name: 'body'
               , children: [ { data: 'Hello world', type: 'text' } ]
               }
             ]
          }
        ]));

// outputs: <html><title>The Title</title><body>Hello world</body></html>

Of course, you probably want to generate the array from htmlparser.

Example configuration

var html = require('htmlparser-to-html');

html.configure({disableAttribEscape: true);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].