A Metalsmith plugin that tidies HTML using tidy-html5, which is a JavaScript compilation of Tidy.
$ npm install [--save] metalsmith-html-tidy
const tidy = require('metalsmith-html-tidy');
metalsmith.use(tidy({
pattern: '**/*html',
tidyOptions: {
'indent-spaces': 4,
}
}));
-
pattern
is a multimatch pattern. Default is**/*.html
(any html file anywhere). -
tidyOptions include any of Tidy's countless options. Defaults are Tidy defaults plus...
'indent': true, 'indent-spaces': 2, 'wrap': 0, 'vertical-space': true, 'quiet': true, 'show-info': false, 'show-warnings': false,
$ cd demo
$ npm install
$ node build
$ diff src/untidy.html build/untidy.html
$ npm install
$ DEBUG=metalsmith-html-tidy npm test