diff --git a/main.py b/main.py index 55bd480..4335206 100644 --- a/main.py +++ b/main.py @@ -457,9 +457,14 @@ async def podcast_faelles_side(request: Request, key: str): base = str(request.base_url).rstrip("/") udsendelser = _podcast_kontekst(request, rod, med_kladder=False) s = udsendelser[0] if udsendelser else {"titel": "Podcast", "slug": "", "har_cover": False} + # Et lille omslag (300 px), så Messenger viser en miniature ved teksten i + # stedet for et billede i hele beskedens bredde. + lille = bool(s.get("slug")) and podcast.cover(s["slug"], lille=True) is not None og = {"titel": s["titel"], "url": f"{base}{rod}/", "beskrivelse": "Familiens podcast. Lyt i browseren, eller abonnér i din podcast-app.", - "billede": f"{base}{rod}/{s['slug']}/cover.jpg" if s.get("har_cover") else ""} + "billede": (f"{base}{rod}/{s['slug']}/cover-lille.jpg" if lille else + f"{base}{rod}/{s['slug']}/cover.jpg" if s.get("har_cover") else ""), + "str": 300 if lille else 3000} headers = {"X-Robots-Tag": "noindex, nofollow, noarchive", "Referrer-Policy": "no-referrer", "Cache-Control": "private, no-store"} if forhaandsvisning: @@ -491,6 +496,14 @@ async def podcast_faelles_feed(request: Request, key: str, name: str): headers={"Cache-Control": "private, max-age=300", "X-Robots-Tag": "noindex, nofollow"}) +@app.get("/podcast/f/{key}/{name}/cover-lille.jpg") +async def podcast_faelles_cover_lille(request: Request, key: str, name: str): + p = podcast.cover(name, lille=True) + if podcast.blokeret(_klient_ip(request)) or not podcast.faelles_slaa_op(key) or not p: + _ikke_fundet(request) + return FileResponse(p, media_type="image/jpeg", headers={"Cache-Control": "private, max-age=86400"}) + + @app.get("/podcast/f/{key}/{name}/cover.jpg") async def podcast_faelles_cover(request: Request, key: str, name: str): p = podcast.cover(name) diff --git a/podcast.py b/podcast.py index dead203..edb0a5b 100644 --- a/podcast.py +++ b/podcast.py @@ -115,8 +115,9 @@ def saet_kladde(name: str, slug: str, kladde: bool) -> bool: return True -def cover(name: str) -> Path | None: - p = ROOT / name / "cover.jpg" +def cover(name: str, lille: bool = False) -> Path | None: + """Omslaget; lille = 300 px-udgaven til link-forhåndsvisninger (cover-lille.jpg).""" + p = ROOT / name / ("cover-lille.jpg" if lille else "cover.jpg") return p if SHOW.match(name or "") and p.exists() else None diff --git a/templates/podcast_og.html b/templates/podcast_og.html index 50b9154..7638ffe 100644 --- a/templates/podcast_og.html +++ b/templates/podcast_og.html @@ -11,8 +11,8 @@ {% if og.billede %} - - + + {% endif %}

{{ og.titel }}

{{ og.beskrivelse }}