hexo-yam/index.js

56 lines
1.6 KiB
JavaScript

/* global hexo */
var assign = require('object-assign');
if (true === hexo.config.neat_enable) {
// HTML minifier
hexo.config.neat_html = assign({
enable: true,
logger: true,
exclude: [],
ignoreCustomComments: [/^\s*more/],
removeComments: true,
removeCommentsFromCDATA: true,
collapseWhitespace: true,
collapseBooleanAttributes: true,
removeEmptyAttributes: true,
minifyJS: true,
minifyCSS: true,
}, hexo.config.neat_html);
// Css minifier
hexo.config.neat_css = assign({
enable: true,
logger: true,
exclude: ['*.min.css']
}, hexo.config.neat_css);
// Js minifier
hexo.config.neat_js = assign({
enable: true,
mangle: true,
logger: true,
output: {},
compress: {},
exclude: ['*.min.js']
}, hexo.config.neat_js);
// html, css, js compression
hexo.config.neat_gzip = assign({
enable: true,
logger: true,
}, hexo.config.neat_gzip);
// html, css, js compression
hexo.config.neat_brotli = assign({
enable: true,
logger: true,
}, hexo.config.neat_brotli);
var filter = require('./lib/filter');
hexo.extend.filter.register('after_render:html', filter.logic_html);
hexo.extend.filter.register('after_render:css', filter.logic_css);
hexo.extend.filter.register('after_render:js', filter.logic_js);
hexo.extend.filter.register('after_generate', filter.logic_gzip);
hexo.extend.filter.register('after_generate', filter.logic_brotli);
}