/cdn-image

Laravel CDN image component for blade component.

Primary LanguagePHPMIT LicenseMIT

Laravel CDN image blade component

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

If your website is running and has lots of images which make it slow, you should start to use a CDN for better speed beside with some convenient operations to manipulate image like resize, filter, convert to webp, etc...

By default, this package supports statically (a free CDN service out of the box) using via /img endpoint.

Installation

You can install the package via composer:

composer require bangnokia/cdn-image

You can publish the config file with:

php artisan vendor:publish --provider="BangNokia\CdnImage\CdnImageServiceProvider" --tag="cdn-image-config"

Sample config file

<?php

return [
    'default' => 'statically',

    'services' => [
        'statically' => [
            'domain' => 'cdn.statically.io'
        ],

        'cloud_image' => [
            'domain'  => 'cloudimg.io',
            'token'   => env('CLOUD_IMAGE_TOKEN'),
            'version' => env('CLOUD_IMAGE_VERSION', 'v7')
        ]
    ]
];

Now you should value for the provider you are using in config/cdn_image.php config file.

CDN Providers supported

Usage

The blade x-img component supports 3 most used props (at least I thought that):

  • src
  • width
  • height

and

  • query for other operations which depends on each provider

Example

<x-img src="http://foo.bar/demo.jpg" width="200" height="100" :query="['q' => 90']" />

will be rendered to

<img src="htts://statically.io/img/foo.bar/demo.jpg?w=200&h=100&q=90" >

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.