embeddable — это пользовательская функция LESS PHP, которая возвращает логическое значение.
Я могу что-то сделать с защитой LESS (lessphp), когда логическая функция возвращает true:
.my-mixin(@url) when(embeddable(@url)) {
background-color: #abc;
}
.smallClass {
.my-mixin('small.png');
}
Это дает:
.smallClass {
background-color: #abc;
}
как и ожидалось.
Как мне это сделать, если это не правда (не оператор). Очевидное:
.my-mixin(@url) when(embeddable(@url)) {
background-color: #abc;
}
.my-mixin(@url) when(not(embeddable(@url))) {
background-color: #389;
}
.bigClass {
.my-mixin('big.png');
}
молча сбрасывается вместе с блоком, использующим его. Обратите внимание, я сохранил истинную версию сторожа, поэтому в случае неправильного предиката следует использовать истинную версию. Затем я попытался:
.my-mixin(@url) when(!embeddable(@url)) {
background-color: #389;
}
вместо не версии.
Миксин просто сохраняется в CSS (а не компилируется), а блок bigClass, который пытается его использовать, по-прежнему молча удаляется.
То же самое с:
.my-mixin(@url) when(embeddable(@url) != true) {
background-color: #389;
}
when(not(embeddable(@url)))
это неправильный синтаксис, приводящий к ошибке. Вместо этого попробуйтеwhen not(embeddable(@url))
... - person seven-phases-max   schedule 20.09.2013