33 lines
880 B
CSS
33 lines
880 B
CSS
/* spacing.css
|
|
* Eryn Wells <eryn@erynwells.me>
|
|
* vim: set sw=2 sts=2:
|
|
*/
|
|
|
|
{{ $spacingBase := 1 }}
|
|
{{ $spacingUnit := "em" }}
|
|
{{ $spacingFactor := 1.618 }}
|
|
|
|
{{ $scale := (dict
|
|
"xxs" -3
|
|
"xs" -2
|
|
"s" -1
|
|
"m" 1
|
|
"l" 2
|
|
"xl" 3
|
|
"xxl" 4
|
|
) }}
|
|
|
|
:root {
|
|
{{ range $name, $exponent := $scale }}
|
|
{{ $value := $spacingBase * (math.Pow $spacingFactor $exponent) }}
|
|
--spacing-{{ $name }}: {{ $value }}{{ $spacingUnit }};
|
|
{{ end }}
|
|
}
|
|
|
|
{{ range $name, $exponent := $scale }}
|
|
/* Spacing utility classes: {{ $name }} */
|
|
.sp-bls-{{ $name }} { margin-block-start: var(--spacing-{{ $name }}); }
|
|
.sp-ble-{{ $name }} { margin-block-end: var(--spacing-{{ $name }}); }
|
|
.sp-ins-{{ $name }} { margin-inline-start: var(--spacing-{{ $name }}); }
|
|
.sp-ine-{{ $name }} { margin-inline-end: var(--spacing-{{ $name }}); }
|
|
{{ end }}
|