1
0
Fork 0
mirror of https://github.com/archtechx/laravel-seo.git synced 2025-12-12 09:54: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: jobs:
pest: pest:
name: Tests (Pest) L${{ matrix.laravel }} name: Tests (Pest) L${{ matrix.laravel }} I${{ matrix.intervention }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
laravel: [10, 11, 12] laravel: [10, 11, 12]
intervention: [2, 3]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@ -22,7 +23,9 @@ jobs:
tools: composer:v2 tools: composer:v2
coverage: none coverage: none
- name: Install composer dependencies - 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 - name: Run tests
run: vendor/bin/pest run: vendor/bin/pest

View file

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

View file

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

View file

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