diff --git a/themes/grav/scss/configuration/fonts/_support.scss b/themes/grav/scss/configuration/fonts/_support.scss index 200970eb..3590bdae 100644 --- a/themes/grav/scss/configuration/fonts/_support.scss +++ b/themes/grav/scss/configuration/fonts/_support.scss @@ -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) { $url: "//fonts.googleapis.com/css?family="; $nb: 0; + @each $fontname, $weights in $fonts { @if $fontname == $fonts-default or @@ -10,20 +21,15 @@ $nb: $nb + 1; $nb-word: 0; - @each $word in $fontname { - $nb-word: $nb-word + 1; - $url: $url + $word; + $fontname: str-replace("#{$fontname}", " ", "+"); - @if $nb-word < length($fontname) { - $url: $url + "+"; - } - } + $url: $url + $fontname; @if $weights != null { $url: $url + ":" + $weights; } - @if $nb < length($fonts) { + @if $nb < 3 { $url: $url + "|"; } } @@ -55,17 +61,12 @@ @include admin-font-faces($font-definitions); -@each $font in $fonts-default { - @include body-fonts($font); -} +@include body-fonts($fonts-default); -@each $font in $fonts-header { - @include header-fonts($font); -} +@include header-fonts($fonts-header); + +@include mono-fonts($fonts-mono); -@each $font in $fonts-mono { - @include mono-fonts($font); -}