render-sender

1.7.0 • Public • Published

render-sender

A small module that can resize, minify and cache images using:

  • imageMagick
  • imagemin
  • send
  • ffmpeg

install

npm install render-sender

example

var rs = require('render-sender')({ cache : '/opt/cache', maxAge : '30 d' });
 
/*
 ...
 expressish app declared here
 ...
 
*/
 
app.get('/images/:file.jpg', function (req, res) {
    rs({
        req : req
        , res : res
        , path : '/opt/images/' + req.params.file + '.jpg'
        , width : 100
        , height : 100
        , format : 'jpg'
    }, function (err) {
        if (err) {
            res.end(err.message);
        }
    });
});

api

rs = require('render-sender')(opts);

  • opts - [object] an object containing settings for the render-sender instance
    • cache - [string] the path where cached images should be saved
    • maxAge - [string] the maxAge used with the send module

rs(opts)

Render the requested changes to an image and send the response to an http response object.

  • opts - [object] an object containing the details of what is currently being requested
    • req - [object] an http server request object
    • res - [object] an http server response object
    • path - [string] the path to an image file to be processed
    • format - [string] the output format of the image
    • width - [numeric] the requested resize width of the image
    • height - [numeric] the requested resize height of the image
    • minify - [boolean] run the output image through a minifier
    • trim - [boolean] make the output image trimmed (remove excess white-space)
    • square - [boolean] make the output image square using the larger of width or height
    • background - [string] when square is true, use this background color to fill in the empty space
    • crop - [object] an object defining the crop section
      • width - [numeric] width of area to cropy
      • height - [numeric] height of area to crop
      • x - [numeric] offset on the x axis for cropping
      • y - [numeric] offset on the y offset for cropping
    • format - [string] the output format requested (jpg,png)
    • stream - [stream/function] a readable stream of binary image data
      • if stream is a function it should return a readable stream when called
      • a file name is still required as part of path for caching
    • outstream - [stream] a writable stream to which the output image should be sent

rs.maybeRender(opts)

Just render the requested image and save it to the cache dir.

  • opts - same as listed above except req and res

license

MIT

Package Sidebar

Install

npm i render-sender

Weekly Downloads

1

Version

1.7.0

License

MIT

Unpacked Size

24.4 kB

Total Files

4

Last publish

Collaborators

  • wankdanker