matthecat/twig-whitespace-collapse-extension 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

matthecat/twig-whitespace-collapse-extension

最新稳定版本:v2.0.0

Composer 安装命令:

composer require matthecat/twig-whitespace-collapse-extension

包简介

Whitespace collapse extension for Twig

README 文档

README

Cette extension fusionne les espaces, tabulations et sauts de ligne des nœuds texte Twig avant la compilation, ce qui permet de réduire le poids du contenu généré tout en gardant le code lisible et sans impact sur le temps d’exécution.

Par exemple le code suivant

{# base.html.twig #}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>test</title>
        <link
            rel="stylesheet"
            href="style.css"
        />
    </head>
    <body>
    </body>
</html>

sera rendu comme

<!DOCTYPE html>
<html> <head> <meta charset="utf-8" /> <title>test</title> <link rel="stylesheet" href="style.css" /> </head> <body> </body>
</html>

Activation

Cette extension s’ajoute à Twig comme n’importe quelle autre extension.

<?php

$twig->addExtension(new \MatTheCat\Twig\Extension\WhitespaceCollapser());

ou si vous êtes sous Symfony par exemple

twig.extension.whitespace_collapser:
    class: MatTheCat\Twig\Extension\WhitespaceCollapser
    tags:
        - { name: twig.extension }

Configuration

Le comportement de l’extension dépend du paramètre passé à son constructeur. Par défaut ce dernier vaut ['html', 'xml', 'svg'], ce qui active l’extension pour les templates dont l’extension du fichier est html, html.twig, xml, xml.twig, svg ou svg.twig.

Vous pouvez donc passer un tableau d’extension ou encore un booléen qui activera l’extension pour tous les templates, ou la désactivera.

Tag

L’extension définit également le tag whitespacecollapse qui avec un booléen en paramètre permet d’activer ou désactiver l’extension à l’intérieur d’un template.

Par exemple

<!DOCTYPE html>
<html>
    <head>
        {% whitespacecollapse false %}
            <meta charset="utf-8" />
            <title>test</title>
            <link
                rel="stylesheet"
                href="style.css"
            />
        {% endwhitespacecollapse %}
    </head>
    <body>
    </body>
</html>

sera rendu comme

<!DOCTYPE html>
<html> <head>             <meta charset="utf-8" />
            <title>test</title>
            <link
                rel="stylesheet"
                href="style.css"
            />
         </head> <body> </body>
</html>

⚠️ Attention

L’extension fusionne toute suite de plus d’un espace, ce qui correspond au cas général mais peut être destructif dans les cas suivants :

  • élément dont la propriété white-space vaut pre, pre-wrap ou pre-line
  • texte d’éléments de formulaire
  • attributs data-*

Outre {% whitespacecollapse false %}, vous pouvez également rendre le code concerné avec Twig pour éviter cela. Par exemple

data-example="{{ 'i  like  spaces' }}"

统计信息

  • 总下载量: 30.15k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 0
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-11-16