1
0
Fork 0
mirror of https://github.com/archtechx/laravel-seo.git synced 2025-12-12 01:44:03 +00:00
This commit is contained in:
Al Amin Ahamed 2025-03-29 15:02:44 +00:00 committed by GitHub
commit bb73645dd7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 38 additions and 17 deletions

View file

@ -7,11 +7,12 @@ on:
jobs:
pest:
name: Tests (Pest) L${{ matrix.laravel }}
name: Tests (Pest) L${{ matrix.laravel }} I${{ matrix.intervention }}
runs-on: ubuntu-latest
strategy:
matrix:
laravel: [10, 11, 12]
intervention: [2, 3]
steps:
- uses: actions/checkout@v2
@ -22,7 +23,9 @@ jobs:
tools: composer:v2
coverage: none
- name: Install composer dependencies
run: composer require "laravel/framework:^${{matrix.laravel}}.0"
run: |
composer require --dev "laravel/framework:^${{matrix.laravel}}.0"
composer require --dev "intervention/image:^${{matrix.intervention}}.0"
- name: Run tests
run: vendor/bin/pest

View file

@ -29,10 +29,10 @@
},
"require-dev": {
"orchestra/testbench": ">=8.0",
"nunomaduro/larastan": ">=2.4",
"larastan/larastan": ">=2.4",
"pestphp/pest": ">=2.0",
"pestphp/pest-plugin-laravel": ">=2.0",
"intervention/image": "^2.7"
"intervention/image": "^3.0"
},
"extra": {
"laravel": {

View file

@ -1,5 +1,5 @@
includes:
- ./vendor/nunomaduro/larastan/extension.neon
- ./vendor/larastan/larastan/extension.neon
parameters:
paths:

View file

@ -37,22 +37,40 @@ class GenerateFaviconsCommand extends Command
return self::FAILURE;
}
// GD driver doesn't support .ico, that's why we use ImageMagick.
$manager = new ImageManager(['driver' => 'imagick']);
// Check Intervention Image version
$interventionV3 = interface_exists('\Intervention\Image\Interfaces\DriverInterface');
$this->comment('Generating ico...');
if ($interventionV3) {
// v3.x implementation
$manager = new ImageManager(
new \Intervention\Image\Drivers\Imagick\Driver()
);
$manager
->make($path)
->resize(32, 32)
->save(public_path('favicon.ico'));
$this->comment('Generating ico...');
$image = $manager->read($path);
$image->resize(32, 32);
$image->save(public_path('favicon.ico'));
$this->comment('Generating png...');
$this->comment('Generating png...');
$image = $manager->read($path);
$image->resize(32, 32);
$image->save(public_path('favicon.png'));
} else {
// v2.x implementation
$manager = new ImageManager(['driver' => 'imagick']); // @phpstan-ignore argument.type
$manager
->make($path)
->resize(32, 32)
->save(public_path('favicon.png'));
$this->comment('Generating ico...');
$manager // @phpstan-ignore method.notFound
->make($path)
->resize(32, 32)
->save(public_path('favicon.ico'));
$this->comment('Generating png...');
$manager // @phpstan-ignore method.notFound
->make($path)
->resize(32, 32)
->save(public_path('favicon.png'));
}
$this->info('All favicons have been generated!');