fs-thumbnail

    1.0.9 • Public • Published

    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.

    If you want to request support for a specific file type, please create an issue.

    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
     
    # Make `ffmpeg` command available in your PATH. 
    # E.g. on Debian and Ubuntu you can run: 
    apt install ffmpeg

    Now you can use the library:

    const ThumbnailGenerator = require('fs-thumbnail');
    const thumbGen = new ThumbnailGenerator({
        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
    });
     
    thumbGen.getThumbnail({
        path: '/path/to/my/image.png',
        output: '/thumbnail/folder/thumbnail.jpg',
        size: 300, // You can override the default size per thumbnail
        quality: 70, // You can override the default quality per thumbnail
    })
        .then(thumbnailPath => {
            if (!thumbnailPath) console.log('Could not generate the thumbnail!');
            else console.log(`Thumbnail generated! Find it here: ${thumbnailPath}`);
        });

    Install

    npm i fs-thumbnail

    DownloadsWeekly Downloads

    5

    Version

    1.0.9

    License

    LGPL-3.0

    Unpacked Size

    17.5 kB

    Total Files

    5

    Last publish

    Collaborators

    • timbokz