forked from oyd/ozgurkon-2021-site
parent
78944ae641
commit
e31acad1e0
@ -1 +1 @@ |
|||||||
Subproject commit defa281b712030049b17f57741fba6ebc2984e83 |
Subproject commit 6a8d7c8af563c5fa71e36e31fe6425ce85702f36 |
@ -1,20 +1,27 @@ |
|||||||
const {readFileSync, writeFileSync} = require('fs'); |
const {readFileSync, writeFileSync} = require('fs'); |
||||||
const {sync: glob} = require('glob'); |
const {sync: glob} = require('glob'); |
||||||
const {minify} = require('html-minifier'); |
const {minify} = require('html-minifier'); |
||||||
const {Logger} = require('plop-logger'); |
const {Logger, LogLevel} = require('plop-logger'); |
||||||
const {colorEmojiConfig} = require('plop-logger/lib/extra/colorEmojiConfig'); |
const {colorEmojiConfig} = require('plop-logger/lib/extra/colorEmojiConfig'); |
||||||
|
|
||||||
Logger.config = colorEmojiConfig; |
Logger.config = colorEmojiConfig; |
||||||
const logger = Logger.getLogger('minifier'); |
const logger = Logger.getLogger('minifier'); |
||||||
|
logger.level = LogLevel.All; |
||||||
|
|
||||||
glob(`public/**/*.html`) |
const htmlFiles = `public/**/*.html`; |
||||||
.forEach(file => { |
logger.info('Compress HTML files', htmlFiles); |
||||||
|
|
||||||
|
const totalGain = glob(htmlFiles) |
||||||
|
.map(file => { |
||||||
const html = readFileSync(file, 'utf8'); |
const html = readFileSync(file, 'utf8'); |
||||||
const minified = minify(html, {}); |
const minified = minify(html, {}); |
||||||
const gain = html.length - minified.length; |
const gain = html.length - minified.length; |
||||||
if (gain > 0) { |
if (gain > 0) { |
||||||
const percent = (gain / html.length) * 100; |
const percent = (gain / html.length) * 100; |
||||||
logger.info(file, () => ['gain', percent.toFixed(2), '%'].join(" ")); |
logger.debug(file, () => ['gain', percent.toFixed(2), '%'].join(" ")); |
||||||
writeFileSync(file, minified, {flag: 'w'}); |
writeFileSync(file, minified, {flag: 'w'}); |
||||||
} |
} |
||||||
}); |
return gain; |
||||||
|
}).reduce((acc, elt) => acc + elt, 0); |
||||||
|
|
||||||
|
logger.info('Total gain', '' + totalGain); |
||||||
|
Loading…
Reference in new issue