updated logic for better string replacement

This commit is contained in:
Andy Miller
2016-04-19 12:35:28 -06:00
parent aad914eb2b
commit 02b4ec897c

View File

@@ -1,6 +1,17 @@
@function str-replace($string, $search, $replace: '') {
$index: str-index($string, $search);
@if $index {
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
}
@return $string;
}
@mixin admin-font-faces($fonts) { @mixin admin-font-faces($fonts) {
$url: "//fonts.googleapis.com/css?family="; $url: "//fonts.googleapis.com/css?family=";
$nb: 0; $nb: 0;
@each $fontname, $weights in $fonts { @each $fontname, $weights in $fonts {
@if $fontname == $fonts-default or @if $fontname == $fonts-default or
@@ -10,20 +21,15 @@
$nb: $nb + 1; $nb: $nb + 1;
$nb-word: 0; $nb-word: 0;
@each $word in $fontname { $fontname: str-replace("#{$fontname}", " ", "+");
$nb-word: $nb-word + 1;
$url: $url + $word;
@if $nb-word < length($fontname) { $url: $url + $fontname;
$url: $url + "+";
}
}
@if $weights != null { @if $weights != null {
$url: $url + ":" + $weights; $url: $url + ":" + $weights;
} }
@if $nb < length($fonts) { @if $nb < 3 {
$url: $url + "|"; $url: $url + "|";
} }
} }
@@ -55,17 +61,12 @@
@include admin-font-faces($font-definitions); @include admin-font-faces($font-definitions);
@each $font in $fonts-default { @include body-fonts($fonts-default);
@include body-fonts($font);
}
@each $font in $fonts-header { @include header-fonts($fonts-header);
@include header-fonts($font);
} @include mono-fonts($fonts-mono);
@each $font in $fonts-mono {
@include mono-fonts($font);
}