mirror of https://github.com/curbengh/hexo-yam
96 lines
2.9 KiB
Markdown
96 lines
2.9 KiB
Markdown
# Hexo-yam
|
|
|
|
[![npm version](https://badge.fury.io/js/hexo-yam.svg)](https://www.npmjs.com/package/hexo-yam)
|
|
[![Build Status](https://travis-ci.com/weyusi/hexo-yam.svg?branch=master)](https://travis-ci.com/weyusi/hexo-yam)
|
|
[![NPM Dependencies](https://david-dm.org/weyusi/hexo-yam.svg)](https://david-dm.org/weyusi/hexo-yam)
|
|
[![Known Vulnerabilities](https://snyk.io/test/npm/hexo-yam/badge.svg)](https://snyk.io/test/npm/hexo-yam)
|
|
[![Greenkeeper badge](https://badges.greenkeeper.io/weyusi/hexo-yam.svg)](https://greenkeeper.io/)
|
|
|
|
> This project is based on [hexo-neat](https://github.com/rozbo/hexo-neat)
|
|
|
|
Yet Another Minifier for Hexo. Minify and compress html, js and css. Support gzip and [brotli](https://en.wikipedia.org/wiki/Brotli) [compressions](https://en.wikipedia.org/wiki/HTTP_compression).
|
|
|
|
The original package has not been [updated](https://www.npmjs.com/package/hexo-neat) for a while. I update the [dependencies](https://github.com/weyusi/hexo-yam/blob/master/package.json) and add compression support.
|
|
|
|
All the options are the same, so you can use this as a drop-in replacement.
|
|
|
|
## Installation
|
|
``` bash
|
|
$ npm install hexo-yam --save
|
|
```
|
|
|
|
## Usage
|
|
To enable this plugin, insert the following to `_config.yml`:
|
|
``` yaml
|
|
neat_enable: true
|
|
```
|
|
For further customization, see below.
|
|
|
|
## Options
|
|
``` yaml
|
|
neat_html:
|
|
enable: true
|
|
exclude:
|
|
```
|
|
- **enable** - Enable the plugin. Defaults to `true`.
|
|
- **logger** - Print log switch. Defaults to `true`.
|
|
- **exclude**: Exclude files
|
|
**Note:** For more options, see '[HTMLMinifier](https://github.com/kangax/html-minifier)'
|
|
|
|
----------
|
|
|
|
``` yaml
|
|
neat_css:
|
|
enable: true
|
|
exclude:
|
|
- '*.min.css'
|
|
```
|
|
- **enable** - Enable the plugin. Defaults to `true`.
|
|
- **logger** - Print log switch. Defaults to `true`.
|
|
- **exclude**: Exclude files
|
|
|
|
----------
|
|
|
|
``` yaml
|
|
neat_js:
|
|
enable: true
|
|
mangle: true
|
|
output:
|
|
compress:
|
|
exclude:
|
|
- '*.min.js'
|
|
```
|
|
- **enable** - Enable the plugin. Defaults to `true`.
|
|
- **mangle**: Mangle file names
|
|
- **logger** - Print log switch. Defaults to `true`.
|
|
- **output**: Output options
|
|
- **compress**: Compress options
|
|
- **exclude**: Exclude files
|
|
**Note:** For more options, see '[UglifyJS](https://github.com/mishoo/UglifyJS2)'
|
|
|
|
----------
|
|
|
|
``` yaml
|
|
neat_gzip:
|
|
enable: true
|
|
```
|
|
- **enable** - Enable the plugin. Defaults to `true`.
|
|
- **logger** - Print log switch. Defaults to `true`.
|
|
|
|
----------
|
|
|
|
``` yaml
|
|
neat_brotli:
|
|
enable: true
|
|
```
|
|
- **enable** - Enable the plugin. Defaults to `true`.
|
|
- **logger** - Print log switch. Defaults to `true`.
|
|
|
|
## Credits
|
|
All credits go to the following work:
|
|
- [hexo-neat](https://github.com/rozbo/hexo-neat) by rozbo
|
|
- neat html by [HTMLMinifier](https://github.com/kangax/html-minifier)
|
|
- neat css by [clean-css](https://github.com/jakubpawlowicz/clean-css)
|
|
- neat js by [UglifyJS](http://lisperator.net/uglifyjs/)
|
|
- gzip inspired by [hexo-generator-optimize](https://github.com/JackyRen/hexo-generator-optimize)
|