Создание классов программно с помощью Stylus - PullRequest
0 голосов
/ 13 мая 2018

Интересно, есть ли способ программно создавать классы с помощью стилуса с помощью итераторов.

Пример:

$my-colors = {
  "black":  #344F5E,
  "grey":   #E0E0E3,
}

Я знаю, что есть define(), но я не уверен, работает ли это, и если да, то как мне получить доступ к ключу и стороне значения.

как

for col in $rf-colors
  define('rf-bg-' + col @() {
    background-color:
  })

Цель заключается в расширении цветовой палитры и создании всех классов автоматически. Может быть, я использую совершенно неправильный подход. Любая помощь приветствуется.

1 Ответ

0 голосов
/ 18 июня 2018

Вы можете использовать интерполяцию с {} и цикл для хеша for $key, $value in $hash:

$my-colors = {
 "black": #000,
 "white": #fff
}

for $name, $color in $my-colors {
  .{$name} {
    background-color: $color
  }
}

, который выдаст:

.black {
  background-color: #000;
}
.white {
  background-color: #fff;
}

Функция define() используется для определения переменных.

...