@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

    13

    Version

    0.0.12

    License

    Apache-2.0

    Unpacked Size

    224 kB

    Total Files

    16

    Last publish

    Collaborators

    • team-unic
    • backflip
    • oriol.tf
    • rbnlffl
    • lbsonley