unified

Project: syntax-tree/hast-util-to-text

Package: hast-util-to-text@3.1.0

  1. Dependents: 23
  2. hast utility to get the plain-text value of a node according to the innerText algorithm
  1. util 143
  2. utility 139
  3. unist 127
  4. html 121
  5. hast 72
  6. hast-util 46
  7. content 20
  8. text 20
  9. string 7
  10. innertext 2

hast-util-to-text

Build Coverage Downloads Size Sponsors Backers Chat

hast utility to get the plain-text value of a node.

This is like the DOMs Node#innerText getter but there are some deviations from the spec. The resulting text is returned.

You’d typically want to use hast-util-to-string (textContent), but hast-util-to-text (innerText) adds for example line breaks where <br> elements are used.

Install

This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required.

npm:

npm install hast-util-to-text

Use

import {h} from 'hastscript'
import {toText} from 'hast-util-to-text'

const tree = h('div', [
  h('h1', {hidden: true}, 'Alpha.'),
  h('article', [
    h('p', ['Bravo', h('br'), 'charlie.']),
    h('p', 'Delta echo \t foxtrot.')
  ])
])

console.log(toText(tree))

Yields:

Bravo
charlie.

Delta echo foxtrot.

API

This package exports the following identifiers: toText. There is no default export.

toText(node, options?)

Utility to get the plain-text value of a node.

options.whitespace

Default whitespace setting to use ('normal' or 'pre', default: 'normal').

Returns

string — Stringified node.

Notes

Security

hast-util-to-text does not change the syntax tree so there are no openings for cross-site scripting (XSS) attacks.

Contribute

See contributing.md in syntax-tree/.github for ways to get started. See support.md for 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