Uses GraphicsMagick to create resized and optionally cropped image variants
npm install @unic/estatico-imageversionsUses GraphicsMagick to create resized and optionally cropped image variants
```
$ npm install --save-dev @unic/estatico-imageversions
`js
const gulp = require('gulp');
const env = require('minimist')(process.argv.slice(2));
/**
* Generate image versions
* Uses GraphicsMagick to create resized and optionally cropped image variants
*
* Using --watch (or manually setting env to { watch: true }) starts file watcher--skipBuild
* When combined with , the task will not run immediately but only after changes
*/
gulp.task('media:imageversions', () => {
const task = require('@unic/estatico-imageversions');
const instance = task({
src: [
'./src/**/imageversions.config.js',
],
srcBase: './src',
dest: './dist/',
}, env);
// Don't immediately run task when skipping build
if (env.watch && env.skipBuild) {
return instance;
}
return instance();
});
`
Run task (assuming the project's package.json specifies "scripts": { "gulp": "gulp" }):$ npm run gulp media:imageversions
See possible flags specified above.
plugin(options, env) => taskFn
#### src (required)
Type: Objectnull
Default:
Each property is passed to gulp.src, the key is used for the generated sprite's name.
#### srcBase (required)
Type: Stringnull
Default:
Passed as base option to gulp.src.
#### dest (required)
Type: Stringnull
Default:
Passed to gulp.dest.
#### watch
Type: Objectnull
Default:
Passed to file watcher when --watch is used.
#### plugins
Type: Object
##### plugins.rename
Type: Function`
Default:js
(filePath, resizeConfig) => {
const path = require('path');
const baseName = path.basename(filePath, path.extname(filePath));
return filePath.replace(baseName, ${baseName}_${resizeConfig.postfix});`
}
##### plugins.resize
Type: Object`
Default:js`
{
addSizeWatermark: true,
}
##### plugins.imagemin
Type: Object{}
Default:
Passed to imagemin via gulp-imagemin. Setting to null will disable this step.
#### logger
Type: { info: Function, debug: Function, error: Function }estatico-utils
Default: Instance of 's Logger utility.
Set of logger utility functions used within the task.
Type: Object{}
Default:
Result from parsing CLI arguments via minimist, e.g. { dev: true, watch: true }`. Some defaults are affected by this, see above.
Apache 2.0.