2016-06-30 18 views
0

SASSミックスインで文字がユニコードであるかどうかをテストするにはどうすればよいですか?SASSのユニコード文字のテスト

私は、(1)ユニコード文字、または(2)パラメータとしてのディスクリプタ文字列を受け入れることを希望しています。パラメータがユニコード文字の場合は、表示するだけです。パラメータがディスクリプタ文字列の場合、私はそれに付随するユニコード文字を調べます。例えば

:なし "ユニコード" タイプが存在しないため、

@mixin glyph($glyph) { 
    @if type-of($glyph) == unicode { 
    content: '$glyph'; 
    } @ else { 
    content: get_glyph_for($glyph); 
    } 
} 

type-of($glyph)戻りstring

@include glyph('\f002'); 
@include glyph('search'); 

ミックスインはと同類なものになるだろう。

SASSで正規表現の機能が見つからず、単一のUnicode文字を分離する方法がありません。

SASSで正規表現を実行する方法はありますか?

+0

私はそれがサス機能の限られた数の可能ですかを確認することはできません。最初のものがユニコードであるかどうかを示す第2のパラメータを受け入れるようにミックスインを変更することを提案することができます。 – mikeyq6

答えて

0

str-sliceを使用して、最初の文字が "\"であるかどうかを検出できます。ユニコード文字を文字列に変換するには、まずそれを "inspect"内で実行する必要があります。

str-slice(inspect(\f002),0,1) => "\\" 

http://sass-lang.com/documentation/Sass/Script/Functions.html#str_slice-instance_method

+0

私はユニコードを引用していない場合、これは実際にそれをキャッチします。ユニコードを引用符で囲むことでそれが破られますが、まあまあです。 –

関連する問題