Как в миксине PUG сделать отдельный класс для первого элемента?

Чтобы создать отдельный класс для первого элемента в миксине Pug, можно воспользоваться условным оператором и переменной, которая будет отслеживать, является ли текущий элемент первым или нет.

Вот пример миксина Pug, который добавляет класс "first" к первому элементу:

mixin customMixin(items)
    each item, index in items
        - let firstClass = (index === 0) ? 'first' : ''
        div(class=firstClass)= item

Здесь мы используем each для итерации по элементам в переданном массиве items. Для каждого элемента мы проверяем, является ли он первым с помощью условного оператора: let firstClass = (index === 0) ? 'first' : ''. Если текущий индекс равен 0 (то есть элемент первый), то присваиваем переменной firstClass значение 'first', иначе присваиваем пустую строку.

Затем мы добавляем переменную firstClass в класс элемента с помощью атрибута class: div(class=firstClass)= item.

Теперь, если используем миксин customMixin с массивом [ 'item1', 'item2', 'item3' ], первому элементу будет добавлен класс "first":

+customMixin([ 'item1', 'item2', 'item3' ])

В результате получим следующий HTML:

<div class="first">item1</div>
<div>item2</div>
<div>item3</div>

Таким образом, в миксине Pug можно легко добавить отдельный класс к первому элементу, используя условный оператор и переменную для отслеживания индекса элемента.