Gathering detailed insights and metrics for hast-util-format
Gathering detailed insights and metrics for hast-util-format
Gathering detailed insights and metrics for hast-util-format
Gathering detailed insights and metrics for hast-util-format
npm install hast-util-format
Typescript
Module System
Node Version
NPM Version
98.4
Supply Chain
99.5
Quality
79.1
Maintenance
100
Vulnerability
100
License
JavaScript (100%)
Total Downloads
2,995,357
Last Day
30,320
Last Week
165,553
Last Month
696,911
Last Year
2,995,357
MIT License
4 Stars
4 Commits
8 Watchers
1 Branches
10 Contributors
Updated on Jan 12, 2025
Minified
Minified + Gzipped
Latest Version
1.1.0
Package Id
hast-util-format@1.1.0
Unpacked Size
16.15 kB
Size
5.88 kB
File Count
10
NPM Version
10.8.3
Node Version
22.7.0
Published on
Sep 19, 2024
Cumulative downloads
Total Downloads
Last Day
-3.2%
30,320
Compared to previous day
Last Week
3.8%
165,553
Compared to previous week
Last Month
10.5%
696,911
Compared to previous month
Last Year
0%
2,995,357
Compared to previous year
7
hast utility to format whitespace in HTML.
This package is a utility that formats whitespace in HTML. In short, it works as follows:
hast-util-minify-whitespace
)This package is useful when you want to improve the readability of an HTML
fragment as it adds insignificant but pretty whitespace between elements.
The plugin rehype-format
uses this package to format HTML
at the plugin level.
The package hast-util-minify-whitespace
does
the inverse.
This package is ESM only. In Node.js (version 16+), install with npm:
1npm install hast-util-format
In Deno with esm.sh
:
1import {format} from 'https://esm.sh/hast-util-format@1'
In browsers with esm.sh
:
1<script type="module"> 2 import {format} from 'https://esm.sh/hast-util-format@1?bundle' 3</script>
Say we have the following example.html
:
1<!doCTYPE HTML><html> 2 <head> 3 <title>Hello!</title> 4<meta charset=utf8> 5 </head> 6 <body><section> <p>hi there</p> 7 </section> 8 </body> 9</html>
Say we have the following example.js
:
1import fs from 'node:fs/promises' 2import {format} from 'hast-util-format' 3import {fromHtml} from 'hast-util-from-html' 4import {toHtml} from 'hast-util-to-html' 5 6const document = await fs.readFile('example.html', 'utf8') 7 8const tree = fromHtml(document) 9 10format(tree) 11 12const result = toHtml(tree) 13 14console.log(result)
…now running node example.js
yields:
1<!doctype html> 2<html> 3 <head> 4 <title>Hello!</title> 5 <meta charset="utf8"> 6 </head> 7 <body> 8 <section> 9 <p>hi there</p> 10 </section> 11 </body> 12</html>
👉 Note: some of the changes have been made by
hast-util-to-html
.
Options
Configuration.
blanks?
(Array<string> | null | undefined
)
— list of tag names to join with a blank line (default: []
);
these tags,
when next to each other,
are joined by a blank line (\n\n
);
for example,
when ['head', 'body']
is given,
a blank line is added between these twoindent?
(string | number | null | undefined
)
— indentation per level (default: 2
);
when number
,
uses that amount of spaces; when string
,
uses that per indentation levelindentInitial?
(boolean | null | undefined
)
— whether to indent the first level (default: true
);
this is usually the <html>
,
thus not indenting head
and body
format(tree, options)
Format whitespace in HTML.
tree
(Root
)
— treeoptions?
(Options | null | undefined
)
— configuration (optional)Nothing (undefined
).
Projects maintained by the unified collective are compatible with maintained versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of
Node.
This means we try to keep the current release line, hast-util-format@1
,
compatible with Node.js 16.
hast-util-minify-whitespace
— minify whitespace between elementsThis package is safe.
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.
No vulnerabilities found.
No security vulnerabilities found.