jadu / twig-style
Jadu Twig编码风格配置用于Twig-CS-Fixer
1.0.0
2024-02-19 17:20 UTC
Requires
- php: >=8.1
- vincentlanglet/twig-cs-fixer: ^2.0.0
- webmozart/assert: ^1.10.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.14.0
- jadu/php-style: ^2.0.0
This package is auto-updated.
Last update: 2024-09-20 10:02:16 UTC
README
Jadu Twig风格由Twig-CS-Fixer提供支持。
安装
- 需要jadu/twig-style开发依赖
composer require --dev jadu/twig-style
- 添加twig-cs-fixer配置文件
.twig-cs-fixer.php
<?php use Jadu\Style\Twig\Standard\JaduStandard; use TwigCsFixer\Config\Config; use TwigCsFixer\File\Finder; use TwigCsFixer\Ruleset\Ruleset; $finder = Finder::create() ->in(__DIR__ . '/src') ->ignoreVCSIgnored(true); $config = new Config(); $config->setFinder($finder); $ruleset = new Ruleset(); $ruleset->addStandard(new JaduStandard()); $config->setRuleset($ruleset); return $config;
- 将
.twig-cs-fixer.cache
添加到项目的.gitignore
文件中。
使用方法
dry run(干燥运行)
要检查项目的twig文件,运行以下干燥运行命令
vendor/bin/twig-cs-fixer lint
此命令将返回一个包含twig-cs-fixer违规的列表,建议用于构建任务。
修复
要修复任何报告的可修复违规,请运行以下修复命令
vendor/bin/twig-cs-fixer lint --fix
Jadu Twig编码标准规则
本标准基于官方Twig编码标准,并添加以下修改
块间距和新行
块标签之前必须有一行新行,块标签之后也必须有一行新行。
{% block aside %} <div class="aside"> {% block aside_inner %} {% block before_primary_supplements %} {% endblock %} {% block primary_supplements %} {% endblock %} {% block after_primary_supplements %} {% endblock %} {% endblock %} </div> {% endblock %}
以下例外情况适用
-
允许内联块。
<body class="{% block body_classes %}{{ bodyClasses }}{% endblock %}">
-
允许在块标签上方一行上的注释。
{# This block adds a container around the aside #} {% block aside_container %}
Endblock名称
任何endblock
标签之后都必须跟它们关闭的块名称。
{% block aside_container %} {% endblock aside_container %}
不允许无空格标签
spaceless
标签在Twig 1.38和2.7.3中被弃用1,并引入了等效的spaceless
过滤器。使用spaceless
标签的情况必须替换为等效的apply spaceless
过滤器。
{% apply spaceless %} {% endapply %}
标点符号间距
在hash的打开和关闭之前和之后需要一个空格。
{{ { 'foo': 'bar', 'baz': 'qux' } }}
以下例外情况适用
- 空hash不得包含任何空白。
{% set emptyHash = {} %}
变量名
不强制执行变量命名约定。
开发
在Jadu\Style\Twig\Rule\Development
命名空间中提供的规则是为了开发目的,有助于维护Jadu Twig风格。
您需要更新项目的twig-cs-fixer配置文件.twig-cs-fixer.php
以启用这些规则,因为默认情况下禁用非可修复规则。
<?php use Jadu\Style\Twig\Rule\Development\TokenTypeRule; use TwigCsFixer\Config\Config; use TwigCsFixer\File\Finder; use TwigCsFixer\Ruleset\Ruleset; $finder = Finder::create() ->in(__DIR__ . '/src') ->ignoreVCSIgnored(true); $config = new Config(); $config->setFinder($finder); $ruleset = new Ruleset(); $ruleset->addRule(new TokenTypeRule()); $config->setRuleset($ruleset); $config->allowNonFixableRules(); return $config;
TokenTypeRule
通过将令牌类型映射到值,帮助您了解Twig-CS-Fixer如何对twig模板进行令牌化。