sanhpotter / html-compress-twig
用于压缩HTML的Twig扩展
dev-main
2023-07-13 03:46 UTC
Requires
- php: >=7.0.0
- twig/twig: ~2.7 || ^3
- voku/html-min: ~4.5
Requires (Dev)
- phpunit/phpunit: ~6.0 || ~7.0 || ~9.0
This package is auto-updated.
Last update: 2024-09-13 06:05:25 UTC
README
描述
这是一个为 Twig 和 voku/HtmlMin 设计的扩展。
目前支持的Twig特性有
-
标签
{% htmlcompress %} <foo>bar</foo> {% endhtmlcompress %}
-
函数
{{ htmlcompress(' <foo>bar</foo>') }}
-
过滤器
{{ ' <foo>bar</foo>' | htmlcompress }}
安装
- 在您的项目中安装并使用 composer。
- 通过composer要求此包
composer require sn/html-compress-twig
使用
首先将扩展与Twig注册
use voku\helper\HtmlMin; use sn\twig\MinifyHtmlExtension; $twig = new \Twig\Environment($loader); $minifier = new HtmlMin(); $twig->addExtension(new MinifyHtmlExtension($minifier));
在symfony 4中注册扩展
指定HtmlMin是自动装配所需的。
voku\helper\HtmlMin: tags: - { name: HtmlMin } sn\twig\MinifyHtmlExtension: arguments: $forceCompression: false tags: - { name: twig.extension }
然后在您的模板中使用它
{% htmlcompress %} <foo>bar</foo> {% endhtmlcompress %}
{{ htmlcompress(' <foo>bar</foo>') }}
{{ ' <foo>bar</foo>' | htmlcompress }}
压缩由Twig的 debug 设置禁用。 这是为了使开发更容易,但是您可以始终覆盖它。
此扩展的构造函数将布尔值作为第二个参数 $forceCompression。 当为true时,这将强制压缩,无论Twig的 debug 设置如何。省略时默认为false。
$twig->addExtension(new MinifyHtmlExtension($minifier, true));
历史
请参阅 CHANGELOG 了解更改的完整历史。
许可证
此项目根据ISC许可证授权,该许可证与MIT/GPL兼容且FSF/OSI批准。有关完整的许可证文本,请参阅 LICENSE 文件。