Skip to content

honza/node-thumbnail

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-thumbnail

npm version Build Status

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