Needlessly Promiscuous, Modularize!

    slicica

    12.0.2 • Public • Published

    slicica npm version

    diminutive for image in croatian

    Image serving/resizing/optimizing Express/Connect middleware using sharp/libvips.

    Intended for usage behind a proxy cache (e.g. nginx, varnish) or a CDN (e.g. CloudFlare) as it doesn't cache results on its own.

    Install

    npm i -S slicica

    Installing this module will automatically fetch and build libvips and its dependencies on Linux, MacOS and Windows x64.

    For more information read sharp's documentation.

    Usage

    app.use(require('slicica')(options))
    const app = express()
    const slicica = require('slicica')
    
    app.use(slicica(
      // default options below
      {
        prefix: '/', // url prefix on which to serve the images
        root: '', // root folder / prefix to prepend to the requested image (path where the images reside)
        maxAge: 0, // takes seconds as integer || ms compatible string || false to disable
        progressive: false, // progressive scan for JPG and PNG
        quality: 80, // output quality for jpeg, webp, png, tiff
        compression: 6, // image compression level (0-9)
        etag: true, // generate and send the ETag header
        lastModified: true, // send the Last-Modified header
        cache: false, // options passed to sharp.cache
        concurrency: 0, // number of threads sharp will use (0 resets it to default = number of cores)
        contentTypes: [
          'image/jpeg',
          'image/png',
          'image/webp',
          'image/tiff'
        ], // content types to serve, other requests are ignored
      }
    ))

    Request example

    http://localhost:####/images/random.jpg?w=800
    
    http://localhost:####/images/random.jpg?h=600
    
    http://localhost:####/images/random.jpg?w=300&h=200&g=north
    
    w // width
    h // height
    g = 'center' // gravity (north|northeast|east|southeast|south|southwest|west|northwest|center|centre)
    if (w && h) {
      // crops to exact dimensions using the default or specified gravity
    } else if (w || h) {
      // resizes preserving the aspect ratio
    } else {
      // just pipes the original image as response
    }

    License

    MIT © Stipe Kotarac (https://github.com/kotarac)

    Install

    npm i slicica

    DownloadsWeekly Downloads

    7

    Version

    12.0.2

    License

    MIT

    Unpacked Size

    8.31 kB

    Total Files

    5

    Last publish

    Collaborators

    • kotarac