Commit Graph

79 Commits

Author SHA1 Message Date
weyusi 5a5a6fb504 fix: neat_js exclude
delete operator previously remove reference including 'options.exclude',
use Object.assign to clone 'options' object to prevent that.
https://stackoverflow.com/a/33053362
2019-04-23 12:30:47 +09:30
weyusi 1de8ec2cd9 refactor: use nanomatch.some()
.some supports string and array patterns, so no need for loop.
https://github.com/micromatch/nanomatch#some
2019-04-23 12:25:17 +09:30
weyusi 5e19490e44 refactor: switch minimatch to nanomatch
https://github.com/micromatch/nanomatch
2019-04-22 21:40:15 +09:30
weyusi f1171393f8 refactor: drop bluebird 2019-04-22 20:27:42 +09:30
weyusi 369bad96b7 refactor: use new method of accessing zlib constants
"Accessing the constants directly from the module is currently still possible but is deprecated."
https://nodejs.org/api/zlib.html#zlib_zlib_constants
2019-04-22 20:08:50 +09:30
weyusi 4f5104c408 fix: use the default options for brotli
brotli already defaults to max (11) compression level
BROTLI_MAX_QUALITY is unnecessary and somehow corresponds to lower level
2019-04-22 18:28:00 +09:30
weyusi 49c9fcb310 feat: support more file extensions
based on the list by https://github.com/philnash/jekyll-gzip
2019-04-22 18:24:31 +09:30
weyusi 2a9c5a52b4 feat: switch to terser for ES6 compatibility 2019-04-10 19:24:02 +09:30
weyusi 3bd69a5b24 feat: compress xml and json 2019-03-08 21:07:51 +10:30
weyusi 9c97c00aa4 refactor: var to let/const
https://hacks.mozilla.org/2015/07/es6-in-depth-let-and-const/
2018-10-26 15:27:23 +10:30
weyusi a6c5727d4b Remove unused library 2018-10-25 20:14:27 +10:30
weyusi 58adaeb34d Use js standard style
https://standardjs.com/
2018-10-25 20:05:59 +10:30
weyusi 8a8c5563c4 Apply level 2 optimisation of clean-css
https://github.com/jakubpawlowicz/clean-css#level-2-optimizations
2018-10-19 12:34:34 +10:30
weyusi 1dafc72850 Use after_generate instead of before_exit
before_exit was a workaround instead of proper after_generate
Use hexo router instead of filesystem manipulation, so hexo-fs is not required anymore
this approach also allows size comparison of original and compressed file, just like minifier currently have
inspired by
 - https://www.travisgeis.com/2018/04/23/lazy-image-resizing-in-hexo-image-sizes-v2/
 - https://github.com/ottobonn/hexo-image-sizes/blob/master/lib/ImageResizer.js
 - https://github.com/chenzhutian/hexo-all-minifier/blob/master/lib/concatJS.js
 - https://stackoverflow.com/a/39441194
2018-10-05 13:38:55 +09:30
weyusi d99b1d3158 Brotli max compression level is 11
c6333e1e79/c/include/brotli/encode.h (L42)
2018-10-02 09:53:08 +09:30
weyusi 03668833cf Set maximum brotli compression level 2018-10-01 17:50:47 +09:30
weyusi b6425e622e Add brotli compression 2018-09-30 17:00:32 +09:30
weyusi 2dc6c5f48e Don't run gzip when public folder has/does not exist
Continuation of 71c5878400
This is necessary especially to prevent gzip from running when hexo clean
2018-09-29 15:11:14 +09:30
weyusi 64e72c6248 Use hexo variable for public folder
http://searene.me/2016/07/17/Hexo-Source-Code-Demystified/
2018-09-28 17:50:42 +09:30
weyusi ea13ea9967 Add gzip compression 2018-09-28 17:13:54 +09:30
weyusi 4745870028 uglify3 compatibility
Credit to 8d9f2da8276652ef270e943dbf9dcb648e14ed55
2018-09-27 18:13:19 +09:30
weyusi 0022702822 Don't parse irrelevent options to uglifyjs 2018-09-27 17:40:38 +09:30
weyusi 2c9fc74660 Update dependency
html-minifier <3.5.0 has ReDoS vulnerability
https://snyk.io/test/npm/hexo-neat
2018-09-27 14:57:16 +09:30
mygu 8300b72478 Add a print log configuration switch to solve compilation performance problems 2018-06-29 16:08:47 +08:00
Mingyu Gu 0089858eb8
Fixed 'exclude' config does not work issue
Matching paths require add the `{ matchBase: true }` paramter
2018-06-29 15:49:13 +08:00
rozbo fa1b1b685e release 1.0.4 2016-06-22 19:35:26 +08:00
rozbo 76b0dcae08 add build date 2016-06-22 19:15:47 +08:00
rozbo f17ff2064c repair config 2016-05-26 19:46:01 +08:00
rozbo b3be6d5b97 init code 2016-05-26 19:09:41 +08:00