A Twig extension for WyriHaximus/HtmlCompress.
Currently supported Twig features are:
- Tag
{% htmlcompress %} ... {% endhtmlcompress %}
- Function
{{ htmlcompress('some html') }}
- Filter
{{ content|markdown|htmlcompress }}
Any HTML, inline CSS and Javascript will be compressed.
-
Install and use composer in your project.
-
Require this package via composer:
composer require nochso/html-compress-twig
First register the extension with Twig:
$twig = new Twig_Environment($loader);
$twig->addExtension(new \nochso\HtmlCompressTwig\Extension());
Then use it in your templates:
{% htmlcompress %}{% endhtmlcompress %}
{{ htmlcompress('<ul> <li>') }}
{{ '<ul> <li>'|htmlcompress }}
Compression is disabled by Twig's debug
setting. This is to make development easier, however you can always
override it.
The constructor of this extension takes a boolean parameter $forceCompression
. When true, this will force compression
regardless of Twig's debug
setting. It defaults to false when omitted.
// Enable compression regardless of Twig's debug setting
$twig->addExtension(new \nochso\HtmlCompressTwig\Extension(true));
See CHANGELOG for the full history of changes.
This project is licensed under the ISC license which is MIT/GPL compatible and FSF/OSI approved. See the LICENSE file for the full license text.