"""Erzeugt die sieben HTML-Seiten aus gemeinsamen Bausteinen (Header, Footer, Leistungen).
Quelle der Wahrheit für Inhalt und Struktur ist diese Datei — die HTML-Dateien nicht von Hand
ändern, sondern hier ändern und neu erzeugen:
python3 tools/build_pages.py (braucht Pillow: pip install pillow)
"""
import json
from datetime import date
from pathlib import Path
from PIL import Image
OUT = Path(__file__).resolve().parent.parent
IMG = OUT / "assets/img"
YEARS = date.today().year - 2003 # motion.js aktualisiert zur Laufzeit
SITE = "https://www.kirschner-service.de"
TEL = "0871 / 14 26 91 01"
TEL_HREF = "tel:+4987114269101"
SOS = "0160 / 836 57 53"
SOS_HREF = "tel:+491608365753"
MAIL = "info@kirschner-service.de"
GEO = (12.1740033, 48.5646225) # Etzstraße 45, Ergolding (OpenStreetMap)
MAPS = "https://www.google.com/maps/search/?api=1&query=Etzstra%C3%9Fe+45%2C+84030+Ergolding"
def mailto(subject, body=""):
from urllib.parse import quote
q = "subject=" + quote(subject)
if body:
q += "&body=" + quote(body)
return f"mailto:{MAIL}?{q}"
ANFRAGE = mailto("Angebotsanfrage", "Guten Tag,\n\nich interessiere mich für Ihre Leistungen.\n\nObjekt / Adresse:\nGewünschte Leistungen:\nTelefon für Rückruf:\n\nViele Grüße\n")
# ---------- Icons ----------
I_ARROW = ''
I_ARROW_S = ''
I_PHONE = ''
I_DOWN = ''
I_PLUS = ''
I_DRAG = ''
def chev_mark(cls="chev-mark"):
return (f'')
HERO_CHEVRONS = ('')
BAND_CHEV = ('')
def pic(name, alt, sizes="100vw", eager=False, cls=""):
w, h = Image.open(IMG / f"{name}-1600.webp").size if (IMG / f"{name}-1600.webp").exists() else Image.open(IMG / f"{name}-1400.webp").size
big = 1600 if (IMG / f"{name}-1600.webp").exists() else 1400
load = 'fetchpriority="high"' if eager else 'loading="lazy" decoding="async"'
c = f' class="{cls}"' if cls else ""
return (f'