node package manager
Easy sharing. Manage teams and permissions with one click. Create a free org »

hexo-all-minifier

Hexo-all-minifier

Greenkeeper badge Build Status codecov npm version NPM Dependencies

🌟🆕Try the latest feature JS_Concator in v0.4.0

All in one. Minifier & Optimization plugin for Hexo.

Installation

$ npm install hexo-all-minifier --save

For Mac User, maybe you need to install somthing more

$ brew install libtool automake autoconf nasm

Usage

Just put this line in the config file of your hexo-site to enable this plugin.

all_minifier: true

If you need futher control of this plugin, please refer the options below.

Options

🌟🆕!NEW

js_concator:
  enable: false
  bundle_path: '/js/bundle.js'
  front: false
  • enable - Enable the Js concator. Defaults to false.
  • bundle_path - The output path of the bundle script. It will be set as absolute path to the root dir.
  • front - Put the bundle script in the front of all scripts in body tag. Default to false, which means the bundle script will be placed in the back of other scripts.

The concator will concat all local scripts into one bundle script and attach it to the end of html's body tag. More detail control will be allowed in the future version.

html_minifier:
  enable: true
  ignore_error: false
  exclude:
  • enable - Enable the HTML minifier. Defaults to true.
  • ignore_error - Ignore the error occurred on parsing html.
  • exclude - Exclude files. Glob is support.

css_minifier:
  enable: true
  exclude: 
    - '*.min.css'
  • enable - Enable the CSS minifier. Defaults to true.
  • exclude - Exclude files. Glob is support.

js_minifier:
  enable: true
  mangle: true
  output:
  compress:
  exclude: 
    - '*.min.js'
  • enable - Enable the JS minifier. Defaults to true.
  • mangle: Mangle file names
  • output: Output options. If it is empty, please remove it from the .yml file! Otherwise it will be set to null, which is different from undefined.
  • compress: Compress options. If it is empty, please remove it from the .yml file! Otherwise it will be set to null, which is different from undefined.
  • exclude: Exclude files. Glob is support.

image_minifier:
  enable: true
  interlaced: false
  multipass: false
  optimizationLevel: 2
  pngquant: false
  progressive: false
  • enable - Enable the image minifier. Defaults to true.
  • interlaced - Interlace gif for progressive rendering. Defaults to false.
  • multipass - Optimize svg multiple times until it’s fully optimized. Defaults to false.
  • optimizationLevel - Select an optimization level between 0 and 7. Defaults to 2.
  • pngquant - Enable imagemin-pngquant plugin. Defaults to false.
  • progressive - Lossless conversion to progressive. Defaults to false.
  • exclude - Exclude specific types of image files, the input value could be gif,jpg, png, or svg. Default to null. Glob is not support.

Components

Integrate all the official minifier plugins of HEXO and a imagemin plugin:

Thanks for their work.