laravel-page-speed maintained by googleshokry
Laravel Page Speed
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.