Generate a basic favicon dynamically
This commit is contained in:
parent
edae9a6b62
commit
d88a1ad5ba
6 changed files with 29 additions and 1 deletions
|
@ -8,6 +8,7 @@
|
|||
<link rel="alternate" title="{{ local_actor.display_name}}'s microblog" type="application/json" href="{{ url_for("json_feed") }}" />
|
||||
<link rel="alternate" href="{{ url_for("rss_feed") }}" type="application/rss+xml" title="{{ local_actor.display_name}}'s microblog">
|
||||
<link rel="alternate" href="{{ url_for("atom_feed") }}" type="application/atom+xml" title="{{ local_actor.display_name}}'s microblog">
|
||||
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
|
||||
<style>
|
||||
{{ highlight_css }}
|
||||
</style>
|
||||
|
|
22
app/utils/favicon.py
Normal file
22
app/utils/favicon.py
Normal file
|
@ -0,0 +1,22 @@
|
|||
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")
|
Loading…
Add table
Add a link
Reference in a new issue