mirror of https://github.com/curbengh/hexo-yam
				
				
				
			feat: enable plugin by default and update options naming
This commit is contained in:
		
							parent
							
								
									2930f1da1d
								
							
						
					
					
						commit
						7e85bd6338
					
				
							
								
								
									
										114
									
								
								index.js
								
								
								
								
							
							
						
						
									
										114
									
								
								index.js
								
								
								
								
							|  | @ -1,70 +1,68 @@ | ||||||
| /* global hexo */ | /* global hexo */ | ||||||
| 'use strict' | 'use strict' | ||||||
| 
 | 
 | ||||||
| if (hexo.config.neat_enable === true) { | hexo.config.minify = Object.assign({ | ||||||
|   // HTML minifier
 |   enable: true | ||||||
|   hexo.config.neat_html = Object.assign({ | }, hexo.config.minify) | ||||||
|     enable: true, |  | ||||||
|     logger: false, |  | ||||||
|     exclude: [], |  | ||||||
|     collapseBooleanAttributes: true, |  | ||||||
|     collapseWhitespace: true, |  | ||||||
|     // Ignore '<!-- more -->' https://hexo.io/docs/tag-plugins#Post-Excerpt
 |  | ||||||
|     ignoreCustomComments: [/^\s*more/], |  | ||||||
|     removeComments: true, |  | ||||||
|     removeEmptyAttributes: true, |  | ||||||
|     removeScriptTypeAttributes: true, |  | ||||||
|     removeStyleLinkTypeAttributes: true, |  | ||||||
|     minifyJS: true, |  | ||||||
|     minifyCSS: true, |  | ||||||
|     globOptions: { basename: true } |  | ||||||
|   }, hexo.config.neat_html) |  | ||||||
| 
 | 
 | ||||||
|   // CSS minifier
 | hexo.config.minify.html = Object.assign({ | ||||||
|   hexo.config.neat_css = Object.assign({ |   enable: true, | ||||||
|     enable: true, |   logger: false, | ||||||
|     logger: false, |   exclude: [], | ||||||
|     exclude: ['*.min.css'], |   collapseBooleanAttributes: true, | ||||||
|     level: 2, |   collapseWhitespace: true, | ||||||
|     globOptions: { basename: true } |   // Ignore '<!-- more -->' https://hexo.io/docs/tag-plugins#Post-Excerpt
 | ||||||
|   }, hexo.config.neat_css) |   ignoreCustomComments: [/^\s*more/], | ||||||
|  |   removeComments: true, | ||||||
|  |   removeEmptyAttributes: true, | ||||||
|  |   removeScriptTypeAttributes: true, | ||||||
|  |   removeStyleLinkTypeAttributes: true, | ||||||
|  |   minifyJS: true, | ||||||
|  |   minifyCSS: true, | ||||||
|  |   globOptions: { basename: true } | ||||||
|  | }, hexo.config.minify.html) | ||||||
| 
 | 
 | ||||||
|   // Javascript minifier
 | hexo.config.minify.css = Object.assign({ | ||||||
|   hexo.config.neat_js = Object.assign({ |   enable: true, | ||||||
|     enable: true, |   logger: false, | ||||||
|     logger: false, |   exclude: ['*.min.css'], | ||||||
|     exclude: ['*.min.js'], |   level: 2, | ||||||
|     compress: {}, |   globOptions: { basename: true } | ||||||
|     mangle: true, | }, hexo.config.minify.css) | ||||||
|     output: {}, |  | ||||||
|     globOptions: { basename: true } |  | ||||||
|   }, hexo.config.neat_js) |  | ||||||
| 
 | 
 | ||||||
|   // SVG minifier
 | hexo.config.minify.js = Object.assign({ | ||||||
|   hexo.config.neat_svg = Object.assign({ |   enable: true, | ||||||
|     enable: true, |   logger: false, | ||||||
|     logger: false, |   exclude: ['*.min.js'], | ||||||
|     include: ['*.svg', '!*.min.svg'], |   compress: {}, | ||||||
|     plugins: [], |   mangle: true, | ||||||
|     globOptions: { basename: true } |   output: {}, | ||||||
|   }, hexo.config.neat_svg) |   globOptions: { basename: true } | ||||||
|  | }, hexo.config.minify.js) | ||||||
| 
 | 
 | ||||||
|   // gzip compression
 | hexo.config.minify.svg = Object.assign({ | ||||||
|   hexo.config.neat_gzip = Object.assign({ |   enable: true, | ||||||
|     enable: true, |   logger: false, | ||||||
|     logger: false, |   include: ['*.svg', '!*.min.svg'], | ||||||
|     include: ['*.html', '*.css', '*.js', '*.txt', '*.ttf', '*.atom', '*.stl', '*.xml', '*.svg', '*.eot', '*.json'], |   plugins: [], | ||||||
|     globOptions: { basename: true } |   globOptions: { basename: true } | ||||||
|   }, hexo.config.neat_gzip) | }, hexo.config.minify.svg) | ||||||
| 
 | 
 | ||||||
|   // brotli compression
 | hexo.config.minify.gzip = Object.assign({ | ||||||
|   hexo.config.neat_brotli = Object.assign({ |   enable: true, | ||||||
|     enable: true, |   logger: false, | ||||||
|     logger: false, |   include: ['*.html', '*.css', '*.js', '*.txt', '*.ttf', '*.atom', '*.stl', '*.xml', '*.svg', '*.eot', '*.json'], | ||||||
|     include: ['*.html', '*.css', '*.js', '*.txt', '*.ttf', '*.atom', '*.stl', '*.xml', '*.svg', '*.eot', '*.json'], |   globOptions: { basename: true } | ||||||
|     globOptions: { basename: true } | }, hexo.config.minify.gzip) | ||||||
|   }, hexo.config.neat_brotli) |  | ||||||
| 
 | 
 | ||||||
|  | hexo.config.minify.brotli = Object.assign({ | ||||||
|  |   enable: true, | ||||||
|  |   logger: false, | ||||||
|  |   include: ['*.html', '*.css', '*.js', '*.txt', '*.ttf', '*.atom', '*.stl', '*.xml', '*.svg', '*.eot', '*.json'], | ||||||
|  |   globOptions: { basename: true } | ||||||
|  | }, hexo.config.minify.brotli) | ||||||
|  | 
 | ||||||
|  | if (hexo.config.minify.enable === true) { | ||||||
|   const filter = require('./lib/filter') |   const filter = require('./lib/filter') | ||||||
|   hexo.extend.filter.register('after_render:html', filter.logicHtml) |   hexo.extend.filter.register('after_render:html', filter.logicHtml) | ||||||
|   hexo.extend.filter.register('after_render:css', filter.logicCss) |   hexo.extend.filter.register('after_render:css', filter.logicCss) | ||||||
|  |  | ||||||
|  | @ -18,7 +18,7 @@ function isMatch (path, patterns, options) { | ||||||
| 
 | 
 | ||||||
| function logicHtml (str, data) { | function logicHtml (str, data) { | ||||||
|   const hexo = this |   const hexo = this | ||||||
|   const options = hexo.config.neat_html |   const options = hexo.config.minify.html | ||||||
|   // Return if disabled.
 |   // Return if disabled.
 | ||||||
|   if (options.enable === false) return |   if (options.enable === false) return | ||||||
| 
 | 
 | ||||||
|  | @ -44,7 +44,7 @@ function logicHtml (str, data) { | ||||||
| 
 | 
 | ||||||
| function logicCss (str, data) { | function logicCss (str, data) { | ||||||
|   const hexo = this |   const hexo = this | ||||||
|   const options = hexo.config.neat_css |   const options = hexo.config.minify.css | ||||||
|   if (options.enable === false) return |   if (options.enable === false) return | ||||||
| 
 | 
 | ||||||
|   const path = data.path |   const path = data.path | ||||||
|  | @ -72,7 +72,7 @@ function logicCss (str, data) { | ||||||
| 
 | 
 | ||||||
| function logicJs (str, data) { | function logicJs (str, data) { | ||||||
|   const hexo = this |   const hexo = this | ||||||
|   const options = hexo.config.neat_js |   const options = hexo.config.minify.js | ||||||
|   if (options.enable === false) return |   if (options.enable === false) return | ||||||
| 
 | 
 | ||||||
|   const path = data.path |   const path = data.path | ||||||
|  | @ -103,7 +103,7 @@ function logicJs (str, data) { | ||||||
| 
 | 
 | ||||||
| function logicSvg () { | function logicSvg () { | ||||||
|   const hexo = this |   const hexo = this | ||||||
|   const options = hexo.config.neat_svg |   const options = hexo.config.minify.svg | ||||||
|   // Return if disabled.
 |   // Return if disabled.
 | ||||||
|   if (options.enable === false) return |   if (options.enable === false) return | ||||||
| 
 | 
 | ||||||
|  | @ -145,7 +145,7 @@ function logicSvg () { | ||||||
| 
 | 
 | ||||||
| function logicGzip () { | function logicGzip () { | ||||||
|   const hexo = this |   const hexo = this | ||||||
|   const options = hexo.config.neat_gzip |   const options = hexo.config.minify.gzip | ||||||
|   // Return if disabled.
 |   // Return if disabled.
 | ||||||
|   if (options.enable === false) return |   if (options.enable === false) return | ||||||
| 
 | 
 | ||||||
|  | @ -191,7 +191,7 @@ function logicGzip () { | ||||||
| 
 | 
 | ||||||
| function logicBrotli () { | function logicBrotli () { | ||||||
|   const hexo = this |   const hexo = this | ||||||
|   const options = hexo.config.neat_brotli |   const options = hexo.config.minify.brotli | ||||||
|   // Return if disabled.
 |   // Return if disabled.
 | ||||||
|   if (options.enable === false) return |   if (options.enable === false) return | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue