1 | "use strict";
|
2 |
|
3 | const HtmlMinifier = require('html-minifier').minify;
|
4 |
|
5 | module.exports = function(code, settings) {
|
6 |
|
7 | code = HtmlMinifier(code, {
|
8 | collapseBooleanAttributes: true,
|
9 | collapseInlineTagWhitespace: true,
|
10 | collapseWhitespace: true,
|
11 | customEventAttributes: settings.eventAttributes,
|
12 | decodeEntities: true,
|
13 | includeAutoGeneratedTags: false,
|
14 | minifyCSS: settings.minifyCSS,
|
15 | minifyJS: settings.minifyJS,
|
16 | removeAttributeQuotes: true,
|
17 | removeComments: true,
|
18 | removeEmptyAttributes: true,
|
19 | removeOptionalTags: true,
|
20 | removeRedundantAttributes: true,
|
21 | removeScriptTypeAttributes: true,
|
22 | removeStyleLinkTypeAttributes: true,
|
23 | removeTagWhitespace: true,
|
24 | sortAttributes: true,
|
25 | sortClassName: true,
|
26 | trimCustomFragments: true,
|
27 | });
|
28 |
|
29 | return code
|
30 | .replace(/<zc-space ?\/?>/g, ' ')
|
31 | .replace(/<zc-newline ?\/>/g, '\n')
|
32 | .replace(/<zc-tab ?\/>/g, '\t');
|
33 |
|
34 | };
|