https://github.com/vkuznecovas/hexo-img-optimization
https://github.com/vkuznecovas/hexo-img-optimization
Last synced: 14 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/vkuznecovas/hexo-img-optimization
- Owner: vkuznecovas
- License: mit
- Created: 2017-11-09T11:56:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-08-22T10:56:25.000Z (over 6 years ago)
- Last Synced: 2025-03-25T07:48:39.934Z (about 1 month ago)
- Language: JavaScript
- Size: 10.7 KB
- Stars: 8
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Hexo-img-optimization
A simple image optimization library for hexo. It works with imagemagick therefore you'll need it to run this.
For Mac OS X, it's as simple as running:
`brew install imagemagick`Info for other systems can be found here: [ImageMagick](http://www.imagemagick.org/).
## Usage
To install:
`npm i --save hexo-img-optimization`After the installation is complete, simply:
`hexo generate && hexo img`Hexo img will run through your public directory, find all .jpg/.jpeg/.png files and proccess them with imagemagick. It can also optionally make thumbnails if you provide that option in config.yml
The exact image modifications can be changed via \_config.yml:```
img_optimization: # root of configuration for image optimization
exclude: # exclude takes an array of file names or directories to ignore from the public folder. Defaults to no exclusions.
- css/ # anything that ends with a forward slash will be considered a directory
- fancybox/
- banner.jpg # anything else is a file
jpg:
enabled: true # if false, jpgs will get ignored. Defaults to true
params: -resize 760000@ # parameter string to pass to imagemagick's convert function
png: # jpg/png/jpeg all have the same fields and can be configured independently
enabled: false
thumb: -resize 680x680> -strip -quality 82 -alpha Remove
jpeg:
enabled: false
# these parameters will be used for any file types that do not have a params parameter defined in config. You can override these to your own preferred defaults.
default_params: -resize 760000@ -filter Triangle -define filter:support=2 -unsharp 0.25x0.25+8+0.065 -dither None -posterize 136 -quality 85 -define jpeg:fancy-upsampling=off -interlace none -colorspace sRGB -strip -define png:compression-filter=5 -define png:compression-level=9 -define png:compression-strategy=1 -define png:exclude-chunk=all
default_thumb: -resize 680x680> -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace RGB
```> Under no means is the default parameter setup optimal. Please experiment and find what works for you.
Take note that under default configuration hexo-img-optimization will touch all your images and change them, therefore a good starting point for hexo would be the following:
```
img_optimization:
exclude:
- css/
- fancybox/
```The idea was born when hosting hexo in s3, where I'd like to deploy modified images in order to speed up the blog loading speed.