hast-util-to-html

hast utility to serialize to HTML

hast-util-to-html

hastutility to serialize to HTML.

Install

npm:

npm install hast-util-to-html

Use

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(tree[, options])

Serialize the given hasttree(or list of nodes).

options.space

Whether the rootof the treeis in the 'html'or 'svg'space (enum, 'svg'or 'html', default: 'html').

If an svgelement is found in the HTML space, toHtmlautomatically switches to the SVG space when entering the element, and switches back when exiting.

options.entities

Configuration for stringify-entities(Object, default: {}). Do not use escapeOnly, attribute, or subset(toHtmlalready passes those, so they won’t work). However, useNamedReferences, useShortestReferences, and omitOptionalSemicolonsare all fine.

options.voids

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

Not used in the SVG space.

options.upperDoctype

Use a <!DOCTYPE…instead of <!doctype…. Useless except for XHTML (boolean, default: false).

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).

Not used in the SVG space.

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.

Not used in the SVG space.

options.collapseEmptyAttributes

Collapse empty attributes: get classinstead of class=""(boolean, default: false). Note: boolean attributes, such as hidden, are always collapsed.

Not used in the SVG space.

options.closeSelfClosing

Close self-closing nodes with an extra slash (/): <img />instead of <img>(boolean, default: false). See tightSelfClosingto control whether a space is used before the slash.

Not used in the SVG space.

options.closeEmptyElements

Close SVG elements without any content with slash (/) on the opening tag instead of an end tag: <circle />instead of <circle></circle>(boolean, default: false). See tightSelfClosingto control whether a space is used before the slash.

Not used in the HTML space.

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: trueor closeEmptyElements: true.

options.tightCommaSeparatedLists

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

options.tightAttributes

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

Not used in the SVG space.

options.tightDoctype

Drop unneeded spaces in doctypes: <!doctypehtml>instead of <!doctype html>to save bytes (boolean, default: false). Note: creates invalid (but working) markup.

options.bogusComments

Use “bogus comments” instead of comments to save byes: <?charlie>instead of <!--charlie-->(boolean, default: false). Note: creates invalid (but working) markup.

options.allowParseErrors

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

Not used in the SVG space.

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 rawnodes and insert them as raw HTML. When falsey, encodes rawnodes (boolean, default: false). Note: Only set this if you completely trust the content.

Security

Use of hast-util-to-htmlcan open you up to a cross-site scripting (XSS)attack if the hast tree is unsafe. Use hast-util-santizeto make the hast tree safe.

Related

Contribute

See contributing.mdin syntax-tree/.githubfor ways to get started. See support.mdfor ways to get help.

This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.

License

MIT© Titus Wormer

Repository

syntax-tree/hast-util-to-html


上一篇:anchorate
下一篇:testarmada-tree-kill

相关推荐

官方社区

扫码加入 JavaScript 社区