luminarix / iconscoop
IconScoop - find your favicons
Fund package maintenance!
luminarix
Requires
- php: ^8.4
- illuminate/contracts: ^12.0
- spatie/laravel-package-tools: ^1.92.4
Requires (Dev)
- larastan/larastan: ^v3.3.1
- laravel/pint: ^v1.22.0
- nunomaduro/collision: ^v8.8.0
- orchestra/testbench: ^v10.2.1
- pestphp/pest: ^v3.8.1
- pestphp/pest-plugin-arch: ^v3.1.1
- pestphp/pest-plugin-laravel: ^v3.1.0
- phpstan/extension-installer: ^1.4.3
- phpstan/phpstan-deprecation-rules: ^2.0.1
- phpstan/phpstan-phpunit: ^2.0.6
README
IconScoop helps you retrieve the favicon for any website by parsing HTML tags, inspecting web app manifests, or falling back to the /favicon.ico
path. It even supports Google’s favicon service for protected domains.
The service returns a Favicon
object containing the icon URL (accessible via __toString()
), the content location, and the HTTP status code.
You can use the provided Laravel facade or instantiate the service directly.
Installation
You can install the package via composer:
composer require luminarix/iconscoop
You can publish the config file with:
php artisan vendor:publish --tag="iconscoop-config"
You can publish the assets with:
php artisan vendor:publish --tag="iconscoop-assets"
Usage
use Luminarix\IconScoop\Facades\IconScoop; // Fetch the favicon $favicon = IconScoop::find('https://x.com'); echo $favicon->imageUrl; // e.g. 'https://www.facebook.com/favicon.ico' echo $favicon->statusCode; // e.g. 200 echo $favicon; // string cast outputs the icon URL
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
License
The MIT License (MIT). Please see License File for more information.