Package Data | |
---|---|
Maintainer Username: | ArjanSchouten |
Maintainer Contact: | mail@arjan-schouten.nl (Arjan Schouten) |
Package Create Date: | 2015-05-29 |
Package Last Update: | 2017-10-06 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-19 03:01:48 |
Package Statistics | |
---|---|
Total Downloads: | 935 |
Monthly Downloads: | 3 |
Daily Downloads: | 0 |
Total Stars: | 22 |
Total Watchers: | 6 |
Total Forks: | 1 |
Total Open Issues: | 3 |
This package is still in Beta version! Use it with care!
Let composer do the hard work for us!
composer require arjanschouten/htmlminifier
A Laravel package based on this minifier can be installed by running:
composer require arjanschouten/laravelhtmlminifier
If you're not using a php framework you can use the minifier by using the code below:
//include the composer autoloader
require __DIR__ . '/vendor/autoload.php';
// create a minify context which will be used through the minification process
$context = new MinifyContext(new PlaceholderContainer());
// save the html contents in the context
$context->setContents('<html>My html...</html>');
$minify = new Minify();
// start the process and give the context with it as parameter
$context = $minify->run($context);
// $context now contains the minified version
$minifiedContents = $context->getContents();
This minifier have some minification options which are:
| Minification strategy | Option Name | Enabled by default |
|---------------------------------------------------------------|-------------------------| --------------------|
| Remove redundant whitespaces | whitespaces | yes |
| Remove comments | comments | yes |
| Collapse boolean attributes from checked="checked" to checked | boolean-attributes | yes |
| Remove quotes around html attributes | remove-attributequotes | no |
| Remove optional elements which can be implied by the browser | optional-elements | no |
| Remove defaults such as from <script type=text/javascript>
| remove-defaults | no |
| Remove empty attributes. HTML boolean attributes are skipped | remove-empty-attributes | no |
You can enable the various minification options for example with:
...
$options = [
'whitespace' => false,
'remove-defaults' => true,
];
$minify->run($context, $options);
This will disable whitespace
and enables remove-defaults
.
Contributions are welcome. Please read the CONTRIBUTING.md readme.
HtmlMinifier uses phpunit
for testing. You can run the tests with vendor/bin/phpunit
.
This package is licensed under the MIT License.
This package is created and maintained by Arjan Schouten.