feat: Archiv-Backfill, responsive Bilder und Site-Meta

Ergänzt Backfill- und Hilfsskripte, erzeugt nach der Pixazo-Generierung
komprimierte srcset-Varianten, validiert leere Bilder und fügt Favicon,
Web Manifest sowie Open-Graph-/Twitter-Tags in die Templates ein.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Frank Schwenk
2026-06-12 18:14:40 +02:00
parent f6e901bad8
commit 8abd7ddb59
15 changed files with 668 additions and 10 deletions
+20
View File
@@ -0,0 +1,20 @@
{% set _site_url = site_url | default('https://mobea.de') %}
<link rel="icon" href="/favicon.svg" type="image/svg+xml" sizes="any">
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="canonical" href="{{ _site_url }}{{ canonical_path }}">
<meta property="og:type" content="website">
<meta property="og:site_name" content="MOBEA">
<meta property="og:locale" content="de_DE">
<meta property="og:url" content="{{ _site_url }}{{ canonical_path }}">
{% if og_image %}
<meta property="og:image" content="{{ _site_url }}{{ og_image }}">
<meta property="og:image:alt" content="{{ og_title }}">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="{{ _site_url }}{{ og_image }}">
{% else %}
<meta name="twitter:card" content="summary">
{% endif %}
<meta name="twitter:title" content="{{ og_title }}">
<meta name="twitter:description" content="{{ og_description }}">
+7 -1
View File
@@ -5,6 +5,12 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>MOBEA Archiv Unsere bisherigen Pivots</title>
<meta name="description" content="Jeden Tag ein neues Startup. Hier ruhen die bisherigen.">
<meta property="og:title" content="MOBEA Archiv Unsere bisherigen Pivots">
<meta property="og:description" content="Jeden Tag ein neues Startup. Hier ruhen die bisherigen.">
{% set og_title = 'MOBEA Archiv Unsere bisherigen Pivots' %}
{% set og_description = 'Jeden Tag ein neues Startup. Hier ruhen die bisherigen.' %}
{% set canonical_path = '/archiv/' %}
{% include '_head_common.html.j2' %}
<meta name="theme-color" content="#111118">
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
@@ -314,7 +320,7 @@
<a href="{{ entry.url }}" class="entry-link">
<div class="entry-thumb">
{% if entry.image %}
<img src="{{ entry.image }}" alt="{{ entry.backronym }}" width="360" height="203" loading="lazy">
<img src="{{ entry.image.thumb_src }}" srcset="{{ entry.image.thumb_srcset }}" sizes="{{ entry.image.thumb_sizes }}" alt="{{ entry.backronym }}" width="360" height="203" loading="lazy">
{% endif %}
</div>
<div class="entry-body">
+5 -1
View File
@@ -7,6 +7,10 @@
<meta name="description" content="{{ s.subtitle }}">
<meta property="og:title" content="MOBEA {{ s.tagline }}">
<meta property="og:description" content="{{ s.subtitle }}">
{% set og_title = 'MOBEA ' ~ s.tagline %}
{% set og_description = s.subtitle %}
{% set og_image = hero_image.og if hero_image else none %}
{% include '_head_common.html.j2' %}
{% set t = theme %}
{% if t == 'corporate' %}
<meta name="theme-color" content="#2563eb">
@@ -859,7 +863,7 @@
</div>
<div class="hero-visual">
{% if hero_image %}
<img src="{{ hero_image }}" alt="MOBEA {{ s.tagline }}" width="560" height="420">
<img src="{{ hero_image.src }}" srcset="{{ hero_image.srcset }}" sizes="{{ hero_image.sizes }}" alt="MOBEA {{ s.tagline }}" width="560" height="420">
{% else %}
<div class="hero-gradient" aria-hidden="true">✦</div>
{% endif %}