JSPM

strapi-plugin-responsive-image

1.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 382
  • Score
    100M100P100Q101840F
  • License MIT

Custom responsive image formats for strapi.

Package Exports

    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 (strapi-plugin-responsive-image) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Strapi plugin responsive-image

    Custom responsive image formats for https://strapi.io v4 (For strapi v3 use v0.5.0)

    Screenshoot settings

    How it works

    • Go to the settings and choose the Responsive image menu
    • Add/edit the formats
    • Upload a new media and it will have the new formats automatically generated

    Installation

    Using npm

    npm install --save strapi-plugin-responsive-image
    npm run build

    Using yarn

    yarn add strapi-plugin-responsive-image
    yarn build

    Setup

    We need to override the image manipulation of the upload plugin and use the one from this plugin. So we need to add a strapi-server.js file within the src/extensions/upload/strapi-server.js folder.

    e.g For Javascript:

    mkdir -p src/extensions/upload/
    touch src/extensions/upload/strapi-server.js

    Paste the code below in the file.

    const imageManipulation = require("strapi-plugin-responsive-image/server/services/image-manipulation");
    
    module.exports = (plugin) => {
      plugin.services["image-manipulation"] = imageManipulation;
    
      return plugin;
    };

    For Typescript:

    mkdir -p src/extensions/upload/
    touch src/extensions/upload/strapi-server.ts

    Paste the code below in the file.

    const imageManipulation = require("strapi-plugin-responsive-image/server/services/image-manipulation");
    
    export default (plugin) => {
      plugin.services["image-manipulation"] = imageManipulation();
    
      return plugin;
    };

    Now when you'll upload a file you'll have the formats of the settings page.

    Global options

    The plugin uses sharp to resize the image.

    Input Description
    Quality Quality, integer 1-100
    Progressive Use progressive (interlace) scan

    Format options

    Input Description
    Name Required Name of the format. The file generated will look like name_file_uploaded_hash.jpeg
    Generate x2 version If ON it generates a format name_x2 with a width and a height twice bigger
    Output format The output format of your images: Same as source, JPEG, PNG, WebP or AVIF
    Width Required Width of the image
    Height Height of the image
    Fit How the image should be resized to fit both provided dimensions. More info
    Position To use when fit is cover or contain. More info
    Without enlargement Do not enlarge if the width or height are already less than the specified dimensions. More info

    TODO

    • Better UI/UX, maybe like the settings of the webhooks
    • Add re-generate button to re-generate all the formats if we change the settings

    ko-fi