sanhpotter/html-compress-twig

用于压缩HTML的Twig扩展

dev-main 2023-07-13 03:46 UTC

This package is auto-updated.

Last update: 2024-09-13 06:05:25 UTC


README

描述

这是一个为 Twigvoku/HtmlMin 设计的扩展。

目前支持的Twig特性有

  • 标签

    • {% htmlcompress %} <foo>bar</foo> {% endhtmlcompress %}
  • 函数

    • {{ htmlcompress(' <foo>bar</foo>') }}
  • 过滤器

    • {{ ' <foo>bar</foo>' | htmlcompress }}
  • 安装

  • 使用

  • 历史

  • 许可证

安装

  1. 在您的项目中安装并使用 composer
  2. 通过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 文件。