Commit Graph

40 Commits

Author SHA1 Message Date
weyusi c69b6d3356 feat: switch nanomatch to micromatch 2019-07-10 11:50:23 +09:30
weyusi 655f65adcd refactor: add 'use strict' 2019-05-27 10:44:04 +09:30
weyusi 8531b77cfc style: arrow function
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
2019-05-21 11:16:14 +09:30
weyusi a87dd05ff4 refactor: new is not necessary
https://nodejs.org/api/buffer.html#buffer_class_method_buffer_from_string_encoding
2019-05-02 16:34:11 +09:30
weyusi cdee4c0768 style: Standard JS 2019-05-02 15:55:43 +09:30
weyusi cceae36368 style: fix comment 2019-04-23 17:57:52 +09:30
weyusi 374c16575b style: rearrange and give more neat_js config examples 2019-04-23 17:46:56 +09:30
weyusi 15465ca16b feat: minify svg using svgo 2019-04-23 17:33:30 +09:30
weyusi 528486761d feat: allow custom file extension for compressions 2019-04-23 15:10:43 +09:30
weyusi ad5f82712c style: tab to space 2019-04-23 13:35:59 +09:30
weyusi 94a8f90c2b feat: allow custom options for neat_css
https://github.com/jakubpawlowicz/clean-css
2019-04-23 13:26:43 +09:30
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