What is hast-util-to-string?
The hast-util-to-string package is a utility for converting HAST (Hypertext Abstract Syntax Tree) nodes to plain strings. This is particularly useful when working with virtual DOM representations in projects that involve transforming HTML or Markdown content.
What are hast-util-to-string's main functionalities?
Convert HAST node to string
This feature allows the conversion of a HAST node, which can be a complex structure with nested elements, into a plain string. The code sample demonstrates creating a simple HAST tree using hastscript and then converting it to a string using hast-util-to-string.
const toString = require('hast-util-to-string');
const h = require('hastscript');
const tree = h('div', [h('p', 'Hello, world!')]);
const result = toString(tree);
console.log(result); // Outputs: 'Hello, world!'
Other packages similar to hast-util-to-string
rehype-stringify
Part of the unified.js ecosystem, rehype-stringify converts HAST trees to HTML strings. It is similar to hast-util-to-string but focuses on generating HTML output rather than plain text, making it suitable for different use cases where HTML structure needs to be preserved.
hast-util-to-mdast
This package converts HAST nodes to MDAST (Markdown Abstract Syntax Tree) nodes. While hast-util-to-string focuses on converting to plain text, hast-util-to-mdast is useful for transformations into Markdown, maintaining markdown-specific formatting and structures.
hast-util-to-string
Get the plain-text value of a hast node.
Install
This package is ESM only:
Node 12+ is needed to use it and it must be imported
ed instead of required
d.
npm:
npm install hast-util-to-string
This package exports the following identifiers:
toString
.
There is no default export.
Use
import {h} from 'hastscript'
import {toString} from 'hast-util-to-string'
toString(h('p', 'Alpha'))
toString(h('div', [h('b', 'Bold'), ' and ', h('i', 'italic'), '.']))
API
toString(node)
Transform a node to a string.
Contribute
See contributing.md
in rehypejs/.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