ここで(うまくいけば)簡単な質問をします。ミックスインの存在をテストできますか?例えば
@if thumbnail-mixin {} @else { //define mixin }.
理想的にはを使用します@unless
が、それはフォークにのみ存在します。ミックスインを上書きできることは承知していますが、すべての場合にN個の変数を指定するのではなく、デフォルトのミックスインを使用できるかどうかを検討しています。
Sassの最新バージョン(v3.3.0)には、次のmixin-exists
機能があります。
.foo {
@if mixin-exists(mymixin) {
exists: true;
}
@else {
exists: false;
}
}
Sass v3.3は、他の存在テストも追加します。
variable-exists($name)
global-variable-exists($name)
function-exists($name)
Sassには現在、ミックスインが存在するかどうかを判断するためのネイティブ機能がありません。
https://github.com/nex3/sass/issues/561#issuecomment-14430978
Rubyで書かれたSass関数を作成できます。
def mixin_exists(mixin_name)
if(environment.mixin(mixin_name.value))
Sass::Script::Bool.new(true)
else
Sass::Script::Bool.new(false)
end
end
または、この関数が含まれているsass-utilitiesCompass拡張機能を使用することもできます。