Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

@unic/estatico-imageversions

0.0.12 • Public • Published

@unic/estatico-imageversions

Uses GraphicsMagick to create resized and optionally cropped image variants

Installation

$ npm install --save-dev @unic/estatico-imageversions

Usage

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
 * When combined with `--skipBuild`, 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.

API

plugin(options, env) => taskFn

options

src (required)

Type: Object
Default: null

Each property is passed to gulp.src, the key is used for the generated sprite's name.

srcBase (required)

Type: String
Default: null

Passed as base option to gulp.src.

dest (required)

Type: String
Default: null

Passed to gulp.dest.

watch

Type: Object
Default: null

Passed to file watcher when --watch is used.

plugins

Type: Object

plugins.rename

Type: Function
Default:

(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:

{
  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 }
Default: Instance of estatico-utils's Logger utility.

Set of logger utility functions used within the task.

env

Type: Object
Default: {}

Result from parsing CLI arguments via minimist, e.g. { dev: true, watch: true }. Some defaults are affected by this, see above.

License

Apache 2.0.

Keywords

none

install

npm i @unic/estatico-imageversions

Downloadsweekly downloads

14

version

0.0.12

license

Apache-2.0

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
Report a vulnerability