mirror of https://github.com/curbengh/hexo-yam
				
				
				
			Merge pull request #15 from curbengh/basename
feat: disable basename globbing when pattern contains slash
This commit is contained in:
		
						commit
						4923f5c39d
					
				
							
								
								
									
										12
									
								
								index.js
								
								
								
								
							
							
						
						
									
										12
									
								
								index.js
								
								
								
								
							|  | @ -17,7 +17,7 @@ if (hexo.config.neat_enable === true) { | ||||||
|     removeStyleLinkTypeAttributes: true, |     removeStyleLinkTypeAttributes: true, | ||||||
|     minifyJS: true, |     minifyJS: true, | ||||||
|     minifyCSS: true, |     minifyCSS: true, | ||||||
|     globOptions: { matchBase: true } |     globOptions: { basename: true } | ||||||
|   }, hexo.config.neat_html) |   }, hexo.config.neat_html) | ||||||
| 
 | 
 | ||||||
|   // CSS minifier
 |   // CSS minifier
 | ||||||
|  | @ -26,7 +26,7 @@ if (hexo.config.neat_enable === true) { | ||||||
|     logger: false, |     logger: false, | ||||||
|     exclude: ['*.min.css'], |     exclude: ['*.min.css'], | ||||||
|     level: 2, |     level: 2, | ||||||
|     globOptions: { matchBase: true } |     globOptions: { basename: true } | ||||||
|   }, hexo.config.neat_css) |   }, hexo.config.neat_css) | ||||||
| 
 | 
 | ||||||
|   // Javascript minifier
 |   // Javascript minifier
 | ||||||
|  | @ -37,7 +37,7 @@ if (hexo.config.neat_enable === true) { | ||||||
|     compress: {}, |     compress: {}, | ||||||
|     mangle: true, |     mangle: true, | ||||||
|     output: {}, |     output: {}, | ||||||
|     globOptions: { matchBase: true } |     globOptions: { basename: true } | ||||||
|   }, hexo.config.neat_js) |   }, hexo.config.neat_js) | ||||||
| 
 | 
 | ||||||
|   // SVG minifier
 |   // SVG minifier
 | ||||||
|  | @ -46,7 +46,7 @@ if (hexo.config.neat_enable === true) { | ||||||
|     logger: false, |     logger: false, | ||||||
|     include: ['*.svg', '!*.min.svg'], |     include: ['*.svg', '!*.min.svg'], | ||||||
|     plugins: [], |     plugins: [], | ||||||
|     globOptions: { matchBase: true } |     globOptions: { basename: true } | ||||||
|   }, hexo.config.neat_svg) |   }, hexo.config.neat_svg) | ||||||
| 
 | 
 | ||||||
|   // gzip compression
 |   // gzip compression
 | ||||||
|  | @ -54,7 +54,7 @@ if (hexo.config.neat_enable === true) { | ||||||
|     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: { matchBase: true } |     globOptions: { basename: true } | ||||||
|   }, hexo.config.neat_gzip) |   }, hexo.config.neat_gzip) | ||||||
| 
 | 
 | ||||||
|   // brotli compression
 |   // brotli compression
 | ||||||
|  | @ -62,7 +62,7 @@ if (hexo.config.neat_enable === true) { | ||||||
|     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: { matchBase: true } |     globOptions: { basename: true } | ||||||
|   }, hexo.config.neat_brotli) |   }, hexo.config.neat_brotli) | ||||||
| 
 | 
 | ||||||
|   const filter = require('./lib/filter') |   const filter = require('./lib/filter') | ||||||
|  |  | ||||||
|  | @ -26,6 +26,10 @@ function logicHtml (str, data) { | ||||||
|   const exclude = options.exclude |   const exclude = options.exclude | ||||||
|   const globOptions = options.globOptions |   const globOptions = options.globOptions | ||||||
| 
 | 
 | ||||||
|  |   let excludeString = exclude | ||||||
|  |   if (Array.isArray(exclude)) excludeString = exclude.join('') | ||||||
|  |   if (excludeString.includes('/')) globOptions.basename = false | ||||||
|  | 
 | ||||||
|   // Return if a path matches exclusion pattern
 |   // Return if a path matches exclusion pattern
 | ||||||
|   if (isMatch(path, exclude, globOptions)) return str |   if (isMatch(path, exclude, globOptions)) return str | ||||||
| 
 | 
 | ||||||
|  | @ -47,6 +51,10 @@ function logicCss (str, data) { | ||||||
|   const exclude = options.exclude |   const exclude = options.exclude | ||||||
|   const globOptions = options.globOptions |   const globOptions = options.globOptions | ||||||
| 
 | 
 | ||||||
|  |   let excludeString = exclude | ||||||
|  |   if (exclude && Array.isArray(exclude)) excludeString = exclude.join('') | ||||||
|  |   if (excludeString && excludeString.includes('/')) globOptions.basename = false | ||||||
|  | 
 | ||||||
|   if (isMatch(path, exclude, globOptions)) return str |   if (isMatch(path, exclude, globOptions)) return str | ||||||
| 
 | 
 | ||||||
|   return new Promise((resolve, reject) => { |   return new Promise((resolve, reject) => { | ||||||
|  | @ -71,6 +79,10 @@ function logicJs (str, data) { | ||||||
|   const exclude = options.exclude |   const exclude = options.exclude | ||||||
|   const globOptions = options.globOptions |   const globOptions = options.globOptions | ||||||
| 
 | 
 | ||||||
|  |   let excludeString = exclude | ||||||
|  |   if (exclude && Array.isArray(exclude)) excludeString = exclude.join('') | ||||||
|  |   if (excludeString && excludeString.includes('/')) globOptions.basename = false | ||||||
|  | 
 | ||||||
|   if (isMatch(path, exclude, globOptions)) return str |   if (isMatch(path, exclude, globOptions)) return str | ||||||
| 
 | 
 | ||||||
|   // Terser doesn't like unsupported options
 |   // Terser doesn't like unsupported options
 | ||||||
|  | @ -100,6 +112,10 @@ function logicSvg () { | ||||||
|   let include = options.include |   let include = options.include | ||||||
|   const globOptions = options.globOptions |   const globOptions = options.globOptions | ||||||
| 
 | 
 | ||||||
|  |   let includeString = include | ||||||
|  |   if (include && Array.isArray(include)) includeString = include.join('') | ||||||
|  |   if (includeString && includeString.includes('/')) globOptions.basename = false | ||||||
|  | 
 | ||||||
|   return Promise.all((micromatch(routeList, include, globOptions)).map(path => { |   return Promise.all((micromatch(routeList, include, globOptions)).map(path => { | ||||||
|     return new Promise((resolve, reject) => { |     return new Promise((resolve, reject) => { | ||||||
|       // Grab all assets using hexo router
 |       // Grab all assets using hexo router
 | ||||||
|  | @ -138,6 +154,10 @@ function logicGzip () { | ||||||
|   let include = options.include |   let include = options.include | ||||||
|   const globOptions = options.globOptions |   const globOptions = options.globOptions | ||||||
| 
 | 
 | ||||||
|  |   let includeString = include | ||||||
|  |   if (include && Array.isArray(include)) includeString = include.join('') | ||||||
|  |   if (includeString && includeString.includes('/')) globOptions.basename = false | ||||||
|  | 
 | ||||||
|   return Promise.all((micromatch(routeList, include, globOptions)).map(path => { |   return Promise.all((micromatch(routeList, include, globOptions)).map(path => { | ||||||
|     return new Promise((resolve, reject) => { |     return new Promise((resolve, reject) => { | ||||||
|       // Grab all assets using hexo router
 |       // Grab all assets using hexo router
 | ||||||
|  | @ -180,6 +200,10 @@ function logicBrotli () { | ||||||
|   let include = options.include |   let include = options.include | ||||||
|   const globOptions = options.globOptions |   const globOptions = options.globOptions | ||||||
| 
 | 
 | ||||||
|  |   let includeString = include | ||||||
|  |   if (include && Array.isArray(include)) includeString = include.join('') | ||||||
|  |   if (includeString && includeString.includes('/')) globOptions.basename = false | ||||||
|  | 
 | ||||||
|   return Promise.all((micromatch(routeList, include, globOptions)).map(path => { |   return Promise.all((micromatch(routeList, include, globOptions)).map(path => { | ||||||
|     return new Promise((resolve, reject) => { |     return new Promise((resolve, reject) => { | ||||||
|       // Grab all assets using hexo router
 |       // Grab all assets using hexo router
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue