mezcalito/imgproxy-bundle

0.3.0 2024-10-28 13:19 UTC

This package is auto-updated.

Last update: 2024-10-29 13:00:37 UTC


README

This bundle provides imgproxy integration for Symfony based projects.

Installation

Run this command in your terminal:

composer require mezcalito/imgproxy-bundle

If you don't use Symfony Flex, you must enable the bundle manually in the application:

<?php

return [
    // ...
    Mezcalito\ImgproxyBundle\ImgproxyBundle::class => ['all' => true]
];

Basic Usage

This bundle works by applying presets on images, from template or from your code. Your presets are defined within the application's configuration file (/config/packages/imgproxy.yaml).

At the moment, there is only one preset available with this bundle: the resize preset. More possibilities will be added later.

To use this bundle, create the following file:

# config/packages/imgproxy.yaml

imgproxy:
    host: localhost
    media_url: https://media.localhost

    # set the same key and salt in imgproxy environment (https://docs.imgproxy.net/signing_the_url)
    signature:
        key: c27f2c1d
        salt: fa242e79

    # default settings applied for all presets
    default_preset_settings:
        format: webp
        encode: true

    presets:
        # this is a preset example
        png_thumbnail:
            format: png
            options:
                resize:
                    resizing_type: fit
                    width: 150
                    height: 75
                    enlarge: true
                    extend:
                        extend: true
                        gravity:
                            type: no
                            x_offset: 10
                            y_offset: 10
                rotate:
                    angle: 90

Then, you can use your preset in your templates:

<img src="{{ asset('/relative/path/to/image.jpg') | imgproxy_preset('png_thumbnail') }}" />

Issues and feature requests

Please report issues and request features at https://github.com/mezcalito/imgproxy-bundle/issues.

License

This bundle is under the MIT license. For the whole copyright, see the LICENSE file distributed with this source code.