googleshokry / laravel-page-speed
Laravel Page Speed
Requires
- php: ^5.6 || ^7.0
- illuminate/support: 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*
Requires (Dev)
- mockery/mockery: >=0.9.4
- orchestra/testbench: ^3.2
- phpunit/phpunit: ^5.7 || ^6.0
- squizlabs/php_codesniffer: ^2.3
This package is auto-updated.
Last update: 2024-10-29 05:28:52 UTC
README
Simple package to minify HTML output on demand which results in a 35%+ optimization.
Installation is easy
You can install the package via composer:
$ composer require googleshokry/laravel-page-speed
Laravel 5.5 and up
You don't have to do anything else, this package uses the Package Auto-Discovery feature, and should be available as soon as you install it via Composer.
Laravel 5.4 or 5.3
Add the Service Provider to your config/app.php: GoogleShokry\LaravelPageSpeed\ServiceProvider::class
This is required for publishing the configuration file:
Publish configuration file
php artisan vendor:publish --provider="GoogleShokry\LaravelPageSpeed\ServiceProvider"
Register Middlewares
Next, the \GoogleShokry\LaravelPageSpeed\Middleware\CollapseWhitespace::class
and other middleware must be registered in the kernel:
//app/Http/Kernel.php protected $middleware = [ ... \GoogleShokry\LaravelPageSpeed\Middleware\InlineCss::class, \GoogleShokry\LaravelPageSpeed\Middleware\ElideAttributes::class, \GoogleShokry\LaravelPageSpeed\Middleware\InsertDNSPrefetch::class, \GoogleShokry\LaravelPageSpeed\Middleware\RemoveComments::class, \GoogleShokry\LaravelPageSpeed\Middleware\TrimUrls::class, \GoogleShokry\LaravelPageSpeed\Middleware\RemoveQuotes::class, \GoogleShokry\LaravelPageSpeed\Middleware\CollapseWhitespace::class, ]
Before
After
Roadmap : Filters
Configuration
After installing package, you may need to configure some options.
Disable Service
You would probably like to set up the local environment to get a readable output.
//config/laravel-page-speed.php //Set this field to false to disable the laravel page speed service. 'enable' => env('LARAVEL_PAGE_SPEED_ENABLE', true),
Skip routes
You would probably like to configure the package to skip some routes.
//config/laravel-page-speed.php //You can use * as wildcard. 'skip' => [ '*.pdf', //Ignore all routes with final .pdf '*/downloads/*',//Ignore all routes that contain 'downloads' 'assets/*', // Ignore all routes with the 'assets' prefix ];
By default this field comes configured with some options, so feel free to configure according to your needs...
Notice: This package skip automatically binary response. See File Downloads.
Testing
$ composer test
Contributing
Please see CONTRIBUTING for details.
Credits
Inspiration
Mod Page Speed (https://www.modpagespeed.com/)
License
The MIT License (MIT). Please see License File for more information.