/hast-util-to-html

Transform HAST to HTML

Primary LanguageJavaScriptMIT LicenseMIT

hast-util-to-html Build Status Coverage Status

Transform HAST to HTML.

Installation

npm:

npm install hast-util-to-html

Usage

var h = require('hastscript');
var toHTML = require('hast-util-to-html');

var tree = h('.alpha', [
  'bravo ',
  h('b', 'charlie'),
  ' delta ',
  h('a.echo', {
    download: true
  }, 'foxtrot')
]);

console.log(toHTML(tree));

Yields:

<div class="alpha">bravo <b>charlie</b> delta <a class="echo" download>foxtrot</a></div>

API

toHTML(node[, options])

Stringify the given HAST node.

options.entities

Configuration for stringify-entities (Object, default: {}). Do not use escapeOnly, attribute, or subset (toHTML already passes those). However, useNamedReferences, useShortestReferences, and omitOptionalSemicolons are all fine.

options.voids

Tag-names of elements to stringify without closing tag (Array.<string>, default: html-void-elements).

options.quote

Preferred quote to use ('"' or '\'', default: '"').

options.quoteSmart

Use the other quote if that results in less bytes (boolean, default: false).

options.preferUnquoted

Leave attributes unquoted if that results in less bytes (boolean, default: false).

options.omitOptionalTags

Omit optional opening and closing tags (boolean, default: false). For example, in <ol><li>one</li><li>two</li></ol>, both </li> closing tags can be omitted. The first because it’s followed by another li, the last because it’s followed by nothing.

options.collapseEmptyAttributes

Collapse empty attributes: class="" is stringified as class instead (boolean, default: false). Note: boolean attributes, such as hidden, are always collapsed.

options.closeSelfClosing

Close self-closing nodes with an extra slash (/): <img /> instead of <img> (boolean, default: false).

options.tightSelfClosing

Do not use an extra space when closing self-closing elements: <img/> instead of <img /> (boolean, default: false). Note: Only used if closeSelfClosing: true.

options.tightCommaSeparatedLists

Join known comma-separated attribute values with just a comma (,), instead of padding them on the right as well (,) (boolean, default: false).

options.tightAttributes

Join attributes together, without white-space, if possible: class="a b" title="c d" is stringified as class="a b"title="c d" instead to save bytes (boolean, default: false). Note: creates invalid (but working) markup.

options.allowParseErrors

Do not encode characters which trigger parse errors (even though they work), to save bytes (boolean, default: false). Note: creates invalid (but working) markup.

options.allowDangerousCharacters

Do not encode some characters which cause XSS vulnerabilities in older browsers (boolean, default: false). Note: Only set this if you completely trust the content.

options.allowDangerousHTML

Allow raw nodes and insert them as raw HTML. When falsey, encodes raw nodes (boolean, default: false). Note: Only set this if you completely trust the content.

Related

Contribute

See contribute.md in syntax-tree/hast for ways to get started.

This organisation has a Code of Conduct. By interacting with this repository, organisation, or community you agree to abide by its terms.

License

MIT © Titus Wormer