thumbnail all the things
node-thumbnail creates a queue of images and converts them asynchronously into thumbnails. node-thumbnail has no binary dependencies --- only javascript.
Command-line usage
thumb [options] source/path dest/path
options:
-h, --help
-v, --version
-s SUFFIX, --suffix SUFFIX
-p PREFIX, --prefix PREFIX
-d, --digest
-t TYPE, --hashing-type TYPE
-w, --width
-c NUM, --concurrency NUM
-o, --overwrite
-s, --skip
-i, --ignore
-q, --quiet
API
You can use this library with callbacks, or with promises.
callbacks
var thumb = require('node-thumbnail').thumb; // thumb(options, callback); thumb({ source: 'source/path', // could be a filename: dest/path/image.jpg destination: 'dest/path', concurrency: 4 }, function(files, err, stdout, stderr) { console.log('All done!'); });
default options:
defaults = { prefix: '', suffix: '_thumb', digest: false, hashingType: 'sha1', // 'sha1', 'md5', 'sha256', 'sha512' width: 800, concurrency: <num of cpus>, quiet: false, // if set to 'true', console.log status messages will be supressed overwrite: false, skip: false, // Skip generation of existing thumbnails basename: undefined, // basename of the thumbnail. If unset, the name of the source file is used as basename. ignore: false, // Ignore unsupported files in "dest" logger: function(message) { console.log(message); } };
Note you must specify at least source and destination
promises
The options that you can pass in are the same as above.
thumb({ source: 'src', destination: 'dest' }).then(function() { console.log('Success'); }).catch(function(e) { console.log('Error', e.toString()); });
Installation
$ npm install node-thumbnail
License
BSD, short and sweet