Very simple (and very fast) html compression.
- Removing extra whitespaces
- Removing html comments (works correctly with
livewire/livewirecomments) - Removing trailing slashes from void elements (HTML5)
- Skip
textarea,preandscriptelements - Very fast. See benchmark
- PHP 7.4 or higher (7.4, 8.0, 8.1, 8.2, 8.3, 8.4)
- Laravel 8.x - 12.x
You can install the package via composer:
composer require abordage/laravel-html-minYou can publish the config file with:
php artisan vendor:publish --tag="html-min-config"To enable compression just register middleware:
// app/Http/Kernel.php
protected $middleware = [
'web' => [
// other middleware
\Abordage\LaravelHtmlMin\Middleware\HtmlMinify::class,
],
// ...
];It's all. Optionally you can change the settings in config/html-min.php
| Option | Default | Description |
|---|---|---|
enable |
true |
Enable/disable HTML minification |
find_doctype_in_document |
true |
Skip minification if DOCTYPE not found |
remove_whitespace_between_tags |
true |
Remove whitespace between tags |
remove_blank_lines_in_script_elements |
false |
Remove blank lines in <script> |
remove_trailing_slashes |
false |
Convert <link /> to <link> |
See config/html-min.php for detailed descriptions.
See abordage/html-min-benchmark
composer test:allor
composer test:phpunit
composer test:phpstan
composer test:phpcsfor see https://github.com/abordage/laravel-html-min/actions/workflows/tests.yml
If you have any feedback, comments or suggestions, please feel free to open an issue within this repository.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.
