23 lines
632 B
Python
23 lines
632 B
Python
|
import sass # type: ignore
|
||
|
from PIL import Image
|
||
|
from PIL import ImageColor
|
||
|
from PIL import ImageDraw
|
||
|
|
||
|
|
||
|
def _get_primary_color() -> str:
|
||
|
"""Small hack to get the theme primary color."""
|
||
|
compiled = sass.compile(
|
||
|
string=(
|
||
|
"@import 'app/scss/main.scss';\n"
|
||
|
"#favicon-color { color: $primary-color; }"
|
||
|
)
|
||
|
)
|
||
|
return compiled[len(compiled) - 11 : -4]
|
||
|
|
||
|
|
||
|
def build_favicon() -> None:
|
||
|
"""Builds a basic favicon with the theme primary color."""
|
||
|
im = Image.new("RGB", (32, 32), ImageColor.getrgb(_get_primary_color()))
|
||
|
ImageDraw.Draw(im)
|
||
|
im.save("app/static/favicon.ico")
|