Looking to hire Laravel developers? Try LaraJobs

laravel-page-speed maintained by googleshokry

Description
Laravel Page Speed
Author
Last update
2018/10/29 05:48 (dev-master)
License
Links
Downloads
41

Comments
comments powered by Disqus

Laravel Page Speed

Project on GitScrum Laravel 5.3 Laravel 5.4 Laravel 5.5 Build Status License Latest Stable Version Total Downloads

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

Before of Laravel Page Speed

After

After of Laravel Page Speed

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.