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 {sync: glob} = require('glob'); |
||||
const {minify} = require('html-minifier'); |
||||
const {Logger} = require('plop-logger'); |
||||
const {Logger, LogLevel} = require('plop-logger'); |
||||
const {colorEmojiConfig} = require('plop-logger/lib/extra/colorEmojiConfig'); |
||||
|
||||
Logger.config = colorEmojiConfig; |
||||
const logger = Logger.getLogger('minifier'); |
||||
logger.level = LogLevel.All; |
||||
|
||||
glob(`public/**/*.html`) |
||||
.forEach(file => { |
||||
const htmlFiles = `public/**/*.html`; |
||||
logger.info('Compress HTML files', htmlFiles); |
||||
|
||||
const totalGain = glob(htmlFiles) |
||||
.map(file => { |
||||
const html = readFileSync(file, 'utf8'); |
||||
const minified = minify(html, {}); |
||||
const gain = html.length - minified.length; |
||||
if (gain > 0) { |
||||
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'}); |
||||
} |
||||
}); |
||||
return gain; |
||||
}).reduce((acc, elt) => acc + elt, 0); |
||||
|
||||
logger.info('Total gain', '' + totalGain); |
||||
|
Loading…
Reference in new issue