melishev / strapi-plugin-react-editorjs

πŸ“ Plugin for Strapi Headless CMS, hiding the standard WYSIWYG editor on Editor.js
https://www.npmjs.com/package/strapi-plugin-react-editorjs
MIT License
171 stars 80 forks source link

[Future Request] response not only a link to the original image, but also a collection with modified dimensions using strapi-plugin-responsive-image #6

Closed Yurgeman closed 3 years ago

Yurgeman commented 3 years ago

Using the strapi-plugin-responsive-image plugin allows you to generate several image formats, it is very convenient.

It would be great if strape-plugin-react-editor js in response gave an array of images of different formats

Π‘Π½ΠΈΠΌΠΎΠΊ экрана 2021-10-19 Π² 22 29 01

To do this, you need to add the format field to the loader's response, which comes in the response from Strapi Upload EditorJs allows you to give any additional fields in the response

melishev commented 3 years ago

Hi @Yurgeman, thanks for your input, I am pleased.

I don't quite understand what this might be useful for. Standard use of Editor.js means embedding an image either at the full width of the screen or at the width of the text (again, this is the standard solution, and which I personally adhere to in my projects).

At the moment, I do not see a plus from adding this functionality to this project. If you want to use images of smaller formats to implement lazy-load or something similar, then this can be solved in another way. On the contrary, I see only a drawback - the response from the server will become quite large for comfortable use. If we implement your proposal, then most of the information given by the server will be occupied by built-in additional extensions, which will have a negative effect.

At the time of plugin development, as far as I remember, I specially removed all parameters except 'src' from the response with the image transmitted from strapi media, so that the answer was as easy as possible.

Yurgeman commented 3 years ago

Hi @melishev lazyload is a good practice. But you need to keep in mind that people watch websites at different screen resolutions and at different Internet speeds.

In addition, you may need to use webp or a standard image format. Depending on browser support.

It is also necessary to take into account the human factor. A content Manager "with the best intentions" can upload a 10-20 MB image.

So I believe a few kilobytes of json and a few milliseconds of server response. worth it :-)

melishev commented 3 years ago

@Yurgeman

1 - I totally agree and lazy-load is really good, but now it is not necessary to use several formats of one image, it is quite possible to use the same base64 and implement something similar as on medium.com, when the blurry image is loaded first, and after original.

2 - I don't see any point in this, strapi currently does not have a built-in ability to load the same file in different formats. And even if there is, then it already needs to be controlled at the stage of adding content.

3 - no matter how ideal the system is, again, you have to control your managers, give guidelines, or write your controller according to the maximum size of the input data, depending on the type. In my opinion, strapi has such an opportunity. Strapi also has a built-in optimization of the used images, which is configurable in the settings. In any case, this problem should not be solved by my plugin, but by you personally!

So in any case, all the above proposals you have given need to be publicly reviewed and voted on, because even if this approach is implemented, it will significantly increase the data returned by the plugin, which may not be liked by many users.

melishev commented 3 years ago

@Yurgeman

If you are really interested in implementing these suggestions, then you could create a settings section inside strapi itself, where users could customize what they need. But at the moment I would not do this, in order to wait for Strapiv4, and already implement all the innovations based on it

melishev commented 3 years ago

Hello @Yurgeman, if you have no desire to continue this PR offer or new ideas, please let me know so that I could close this Issue