/* spacing.css * Eryn Wells * 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 }}