hast utility to get the plain-text value of a node according to the `innerText` algorithm
Last updated 8 months ago by wooorm .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install hast-util-to-text 
SYNC missed versions from official npm registry.


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.



npm install hast-util-to-text


var h = require('hastscript')
var toText = require('hast-util-to-text')

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




Delta echo foxtrot.



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

  • If node is a comment, returns its value
  • If node is a text, applies normal white-space collapsing to its value, as defined by the CSS Text spec
  • If node is a root or element, applies an algorithm similar to the innerText getter as defined by HTML
  • node (Node) — Thing to stringify

string — Stringified node.

  • If node is an element that is not displayed (such as a head), we’ll still use the innerText algorithm instead of switching to textContent
  • If descendants of node are elements that are not displayed, they are ignored
  • CSS is not considered, except for the default user agent style sheet
  • A line feed is collapsed instead of ignored in cases where Fullwidth, Wide, or Halfwidth East Asian Width characters are used, the same goes for a case with Chinese, Japanese, or Yi writing systems
  • Replaced elements (such as audio) are treated like non-replaced elements


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



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.


MIT © Titus Wormer

Current Tags

  • 2.0.0                                ...           latest (8 months ago)

3 Versions

  • 2.0.0                                ...           8 months ago
  • 1.0.1                                ...           a year ago
  • 1.0.0                                ...           a year ago
Maintainers (2)
Today 3
This Week 604
This Month 1,696
Last Day 247
Last Week 648
Last Month 5,688
Dependencies (3)
Dev Dependencies (10)

Copyright 2014 - 2016 © taobao.org |