Skip to content

sanhpotter/html-compress-twig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗜 HtmlMin for Twig: HTML Compressor and Minifier

Description

A Twig extension for voku/HtmlMin.

Currently supported Twig features are:

  • Tag

    • {% htmlcompress %} <foo>bar</foo> {% endhtmlcompress %}
  • Function

    • {{ htmlcompress(' <foo>bar</foo>') }}
  • Filter

    • {{ ' <foo>bar</foo>' | htmlcompress }}
  • Installation

  • Usage

  • History

  • License

Installation

  1. Install and use composer in your project.
  2. Require this package via composer:
composer require sn/html-compress-twig

Usage

First register the extension with Twig:

use voku\helper\HtmlMin;
use sn\twig\MinifyHtmlExtension;

$twig = new \Twig\Environment($loader);
$minifier = new HtmlMin();
$twig->addExtension(new MinifyHtmlExtension($minifier));

Register extension in symfony 4

Specifying HtmlMin is needed for the autowiring.

    voku\helper\HtmlMin:
        tags:
            - { name: HtmlMin }

    sn\twig\MinifyHtmlExtension:
        arguments:
            $forceCompression: false
        tags:
            - { name: twig.extension }

Then use it in your templates:

{% htmlcompress %} <foo>bar</foo> {% endhtmlcompress %}
{{ htmlcompress(' <foo>bar</foo>') }}
{{ ' <foo>bar</foo>' | 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 as second parameter $forceCompression. When true, this will force compression regardless of Twig's debug setting. It defaults to false when omitted.

$twig->addExtension(new MinifyHtmlExtension($minifier, true));

History

See CHANGELOG for the full history of changes.

License

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages