Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chenzhutian/hexo-all-minifier
A plugin for Hexo that optimizes HTML, CSS, JS and imagages, and it can optionally deploys your blog.
https://github.com/chenzhutian/hexo-all-minifier
css hexo html-minifier imagemin js-concatenation minifies optimizer-plugin
Last synced: 10 days ago
JSON representation
A plugin for Hexo that optimizes HTML, CSS, JS and imagages, and it can optionally deploys your blog.
- Host: GitHub
- URL: https://github.com/chenzhutian/hexo-all-minifier
- Owner: chenzhutian
- License: mit
- Created: 2015-12-30T08:39:32.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-04-28T16:55:44.000Z (7 months ago)
- Last Synced: 2024-07-26T19:00:40.616Z (4 months ago)
- Topics: css, hexo, html-minifier, imagemin, js-concatenation, minifies, optimizer-plugin
- Language: JavaScript
- Size: 792 KB
- Stars: 275
- Watchers: 4
- Forks: 30
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome - chenzhutian/hexo-all-minifier - A plugin for Hexo that optimizes HTML, CSS, JS and imagages, and it can optionally deploys your blog. (JavaScript)
- awesome - chenzhutian/hexo-all-minifier - A plugin for Hexo that optimizes HTML, CSS, JS and imagages, and it can optionally deploys your blog. (JavaScript)
README
# Hexo-all-minifier
[![Greenkeeper badge](https://badges.greenkeeper.io/chenzhutian/hexo-all-minifier.svg)](https://greenkeeper.io/)
[![Build Status](https://travis-ci.org/chenzhutian/hexo-all-minifier.svg?branch=master)](https://travis-ci.org/chenzhutian/hexo-all-minifier)
[![codecov](https://codecov.io/gh/chenzhutian/hexo-all-minifier/branch/master/graph/badge.svg)](https://codecov.io/gh/chenzhutian/hexo-all-minifier)
[![npm version](https://badge.fury.io/js/hexo-all-minifier.svg)](https://badge.fury.io/js/hexo-all-minifier)
[![NPM Dependencies](https://david-dm.org/unhealthy/hexo-all-minifier.svg)](https://www.npmjs.com/package/hexo-all-minifier):star2::new:**Try the latest feature JS_Concator in v0.4.0**
All in one. Minifier & Optimization plugin for [Hexo](https://hexo.io).
## Installation
``` bash
$ npm install hexo-all-minifier --save
```
For Mac User, maybe you need to install something more
```bash
$ brew install libtool automake autoconf nasm
```
## Usage
Just put this line in the config file of your hexo-site to enable this plugin.
``` yaml
all_minifier: true
```
If you need futher control of this plugin, please refer the options below.## Options
:star2::new:**!NEW**
``` yaml
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.
----------``` yaml
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.----------
``` yaml
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.----------
``` yaml
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.----------
```yaml
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](https://github.com/imagemin/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:
- [hexo-html-minifier](https://github.com/hexojs/hexo-html-minifier), which is based on [HTMLMinifier](https://github.com/kangax/html-minifier)
- [hexo-clean-css](https://github.com/hexojs/hexo-clean-css), which is based on [clean-css](https://github.com/jakubpawlowicz/clean-css)
- [hexo-uglify](https://github.com/hexojs/hexo-uglify), which is based on [UglifyJS](http://lisperator.net/uglifyjs/)
- [hexo-imagemin](https://github.com/vseventer/hexo-imagemin), which is based on [imagemin](https://github.com/imagemin/imagemin)Thanks for their work.