2013-09-07 4 views
14

Ich benutze Twig und ich möchte in der Lage sein, die HTML-Ausgabe zu minimieren. Wie mache ich das? Ich habe versucht {% spaceless %}, aber das erfordert, dass das zu allen meinen Vorlagen hinzufügen. Kann ich Minification innerhalb der Twig-Engine hinzufügen?Wie kann ich HTML mit Twig verkleinern?

+1

Nun, Zweig Schlüssel Entwickler eindeutig [angezeigt] (https://github.com/fabpot/Twig/issues/624), die im allgemeinen Zweig, und 'spaceless' insbesondere nicht als minification entworfen Werkzeug. Wie wäre es stattdessen mit Tidy oder 'mod_strip'? – raina77ow

+0

Eine Frage, aber wie kann ich das in die Twig-Engine implementieren? – daviesgeek

+1

Sie können '{% spaceless%}' in Ihren Basisvorlagen hinzufügen, die die '' Tags umgeben. So gilt es auch für jede Kindvorlage. – adamors

Antwort

-5

Verwenden

{% spaceless %} 
YOUR WHOLE PAGE GOES HERE HTML, TWIG, JS EVERYTHING... 
{% endspaceless %} 

Es kann Ihre Zweig Version erkennt nicht die Tags sein, dass, aktualisieren Sie einfach die neueste Version von Zweig.

Dies wird die Ausgabe html minimiert und die Seitenladung wird steigen, weil es nur die kompilierte Version von HTML lädt.

Während Sie noch den Code in einer lesbaren Situation anzeigen können.

+16

'spaceless' ist NICHT für diesen Zweck vorgesehen. "Mit diesem Tag soll die Größe des generierten HTML-Inhalts nicht" optimiert "werden, sondern lediglich zusätzliche Leerräume zwischen HTML-Tags vermieden werden, um unter bestimmten Umständen Browser-Macken zu vermeiden." http://twig.sensiolabs.org/doc/tags/space-less.html – turibe

+0

Auch Minifing! = Entfernen von Leerzeichen. Es sollte zum Beispiel auch alle Kommentare entfernen. Dies ist eine Funktion, die sie in Twig hinzufügen sollten –

2

Dies kann Ihnen wenig helfen.

Verwenden Sie html-compress-twig Sie können HTML, CSS, JS in einem Paket komprimieren.Um Composer zu installieren composer require nochso/html-compress-twig und Sie müssen Erweiterung mit Zweig mit diesem Code hinzufügen.

$app->extend('twig_theme', function($twig_theme, $ojt) { 
$twig_theme->addExtension(new nochso\HtmlCompressTwig\Extension()); 
return $ojt_theme;}); 

schließlich zu Ihrer Vorlagendatei diesen Code hinzufügen.

{% htmlcompress %} ....your coding... {% endhtmlcompress %} 
{{ htmlcompress('<ul> <li>') }} 
{{ '<ul> <li>'|htmlcompress }}