A plugin for Hexo that optimizes HTML, CSS, JS and imagages, and it can optionally deploys your blog.
JavaScript HTML
Clone or download

README.md

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 something 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
  silent: 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.
  • silent - Disable logging optimize informations. Defaults to false.

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
  silent: false
  exclude:
  • enable - Enable the HTML minifier. Defaults to true.
  • ignore_error - Ignore the error occurred on parsing html.
  • silent - Disable logging optimize informations. Defaults to false.
  • exclude - Exclude files. Glob is support.

css_minifier:
  enable: true
  silent: false
  exclude: 
    - '*.min.css'
  • enable - Enable the CSS minifier. Defaults to true.
  • silent - Disable logging optimize informations. Defaults to false.
  • exclude - Exclude files. Glob is support.

js_minifier:
  enable: true
  mangle: true
  silent: false
  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.
  • silent - Disable logging optimize informations. Defaults to false.
  • exclude: Exclude files. Glob is support.

image_minifier:
  enable: true
  interlaced: false
  multipass: false
  optimizationLevel: 2
  pngquant: false
  progressive: false
  silent: 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.
  • silent - Disable logging optimize informations. 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.