Skip to content

reshape/beautify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reshape Beautify

npm tests dependencies coverage

A reshape plugin that pretty-prints your html

Note: This project is in early development, and versioning is a little different. Read this for more details.

Installation

npm install reshape-beautify --save

Note: This project is compatible with node v6+ only

Usage

Add it as a reshape plugin:

const reshape = require('reshape')
const beautify = require('reshape-beautify')

reshape({ plugins: beautify(/* options */) })
  .process(htmlString)
  .then((res) => console.log(res.output()))

...and that's it! You can specify any options as listed below to customize the behavior.

This plugin will ensure that all tags are correctly indented. However, it will not make changes to any tag that contains a plain text node, because this could interfere with the way the content looks. For example, this crappy html:

 <head>
    <title>bad indentation</title>
<meta name='author' content='not me'>
      </head>
  <body><section>    <p>hi there</p>
     </section>
 </body>

Would be transformed as such:

<head>
  <title>bad indentation</title>
  <meta name='author' content='not me'>
</head>
<body>
  <section>
    <p>hi there</p>
  </section>
</body>

Wow, so clean! It will do the same for minified html:

<body><p>hi there</p><div class='wow'>this is minified</div></body>

Is transformed to:

<body>
  <p>hi there</p>
  <div class='wow'>this is minified</div>
</body>

However, if you have something like this:

<section>
    hello there!
 <span>this is great</span>
    </section>

We won't alter the spaces inside your section content, because this would change the way it looks on the page, so it would turn out exactly the same as the input.

Options

Name Description Default
indent Number of spaces to indent your elements 2

License & Contributing