JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 196464
  • Score
    100M100P100Q161625F
  • License MIT

Format HTML with rehype

Package Exports

  • rehype-format

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (rehype-format) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

rehype-format Build Status Coverage Status

Format HTML with rehype.

Installation

npm:

npm install rehype-format

Usage

Say we have the following file, index.html:

<!doCTYPE HTML><html>
 <head>
    <title>Hello!</title>
<meta charset=utf8>
      </head>
  <body><section>    <p>hi there</p>
     </section>
 </body>
</html>

And our script, example.js, looks as follows:

var vfile = require('to-vfile');
var report = require('vfile-reporter');
var rehype = require('rehype');
var format = require('rehype-format');

rehype().use(format).process(vfile.readSync('index.html'), function (err, file) {
  console.error(report(err || file));
  console.log(String(file));
});

Now, running node example yields:

index.html: no issues found
<!DOCTYPE html>
<html>
  <head>
    <title>Hello!</title>
    <meta charset="utf8">
  </head>
  <body>
    <section>
      <p>hi there</p>
    </section>
  </body>
</html>

API

rehype().use(format[, options])

Format white-space in the processed tree.

  • Collapse all white-space (to a single space or newline);
  • Remove unneeded white-space;
  • Inject needed newlines and indentation;
  • Indent previously collapsed newlines properly.

All superfluous white-space is removed. However, as newlines are kept (and later properly indented), your code will still line-wrap as expected.

options
  • indent (number, string, default: 2) — Indentation per level. When number, uses that amount of spaces. When string, uses that per indentation level.
  • indentInitial (boolean, default: true) — Whether to indent the first level (usually, in the html element, thus not indenting head and body).
  • blanks (Array.<string>, default: []) — List of tag-names, which, 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 two.

License

MIT © Titus Wormer