JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 27
  • Score
    100M100P100Q60197F
  • License LGPL-3.0

Library for generation of thumbnails based on file system paths.

Package Exports

  • fs-thumbnail

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fs-thumbnail) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

fs-thumbnail

Node.js library that generates thumbnails for files in the file system.

Overview

fs-thumbnail was designed for Ogma. It generates thumbnails based on file system paths of files. It tries several different libraries and uses the best match to generate the thumbnail. Libraries used for thumbnail generation are listed below. The ones labelled with peer dependency must be installed separately, either using npm or your OS-specific package manager.

  • sharp (peer dependency: npm). Used for JPEG, PNG, WebP, TIFF, GIF and SVG images.
  • ffmpeg (peer dependency: OS-specific). Used to generate video thumbnails.

Installing

Install the main package:

npm install fs-thumbnail

Install some subset of peer dependencies that is relevant to your project:

# On all machines
npm install sharp@0

# On Debian/Ubuntu
apt install ffmpeg

Now you can use the library:

const ThumbnailManager = require('fs-thumbnail');
const thumbManager = new ThumbnailManager({
    verbose: true, // Whether to print out warning/errors
    size: [500, 300], // Default size, either a single number of an array of two numbers - [width, height].
    quality: 70, // Default quality, between 1 and 100
});

thumbManager.getThumbnail({
    path: '/path/to/my/image.png',
    output: '/thumbnail/folder/thumbnail.jpg',
    size: 300,
    quality: 70,
})
    .then(thumbnailPath => {
        if (!thumbnailPath) console.log('Could not generate the thumbnail!');
        else console.log(`Thumbnail generated! Find it here: ${thumbnailPath}`);
    });