AlekSIS
AlekSIS

Source code for aleksis.core.util.sass_helpers

"""Helpers for SASS/SCSS compilation."""

from colour import web2hex
from sass import SassColor
from sass_processor.storage import SassFileStorage

from .core_helpers import get_site_preferences


[docs]def get_colour(html_colour: str) -> SassColor: """Get a SASS colour object from an HTML colour string.""" rgb = web2hex(html_colour, force_long=True)[1:] r, g, b = int(rgb[0:2], 16), int(rgb[2:4], 16), int(rgb[4:6], 16) return SassColor(r, g, b, 255)
[docs]def get_preference(section: str, name: str) -> str: """Get a preference from dynamic-preferences.""" return get_site_preferences()[f"{section}__{name}"]
[docs]def clean_scss(*args, **kwargs) -> None: """Unlink compiled CSS (i.e. cache invalidation).""" sass_storage = SassFileStorage() __, files = sass_storage.listdir("public") for source_map in filter(lambda x: x.endswith(".css.map"), files): sass_storage.delete(f"public/{source_map}")