chris-ware/bem-twig-extension

在BEM方法中插入静态类的Twig函数。

dev-master 2018-01-02 11:51 UTC

This package is auto-updated.

Last update: 2024-09-13 11:14:06 UTC


README

在BEM方法中插入静态类的Twig函数。

基于 [https://github.com/drupal-pattern-lab/bem-twig-extension], 但适配为普通的twig扩展

添加扩展

$twig = new Twig_Environment($loader, $options);
$twig->addExtension(new Bem\Twig\BemExtension());

使用方法(4个参数)

简单块名(必需参数)

<h1 {{ bem('title') }}>

这会创建

<h1 class="title">

带有修饰符的块(可选数组,允许多个修饰符)

<h1 {{ bem('title', ['small', 'red']) }}>

这会创建

<h1 class="title title--small title--red">

带有修饰符和块名的元素(可选)

<h1 {{ bem('title', ['small', 'red'], 'card') }}>

这会创建

<h1 class="card__title card__title--small card__title--red">

带有块名但没有修饰符的元素(可选)

<h1 {{ bem('title', '', 'card') }}>

这会创建

<h1 class="card__title">

带有修饰符、块名和额外类的元素(可选 - 如果需要非BEM类)

<h1 {{ bem('title', ['small', 'red'], 'card', ['js-click', 'something-else']) }}>

这会创建

<h1 class="card__title card__title--small card__title--red js-click something-else">

仅带有额外类的元素(可选)

<h1 {{ bem('title', '', '', ['js-click']) }}>

这会创建

<h1 class="title js-click">