Fußzeilen-Spaltentitel h4 -> h2 (Überschriftenordnung, WCAG 1.3.1)

Die drei Fußzeilen-Spaltentitel (Filipe, Dogi&Hasi & Manager, Mehr)
waren <h4>, obwohl der Hauptinhalt bei h2/h3 endet -- ein Sprung in der
Überschriftenordnung (h2 -> h4) auf jeder Seite. Für Bildschirmleser ist
die Überschriftenliste das Inhaltsverzeichnis; eine übersprungene Ebene
stört die Orientierung.

Jetzt <h2> (eigenständige Abschnitte unter der Seiten-h1). Die Optik
bleibt exakt: Der CSS-Selektor .footer-grid h4 wurde zu .footer-grid h2
umgezogen, die kleine, gedämpfte Darstellung (.85rem, uppercase,
Akzentfarbe) überschreibt weiterhin die große globale h2-Größe.

Teil des Barrierefreiheits-Durchgangs (pruef-barrierefrei.mjs). Behebt
die reinen Fußzeilen-Fälle; die Hauptinhalt-Überschriften folgen separat.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-08-27 10:57:55 +02:00
co-authored by Claude Opus 5
parent 8a2d2b802a
commit 8a2943df35
38 changed files with 377 additions and 247 deletions
+6 -6
View File
@@ -18,10 +18,10 @@
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<meta name="robots" content="noindex" /> <meta name="robots" content="noindex" />
<title>Seite nicht gefunden — DOGFATHER UNIVERSE</title> <title>Seite nicht gefunden — DOGFATHER UNIVERSE</title>
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body> <body>
<div id="site-header"></div> <div id="site-header"></div>
@@ -41,7 +41,7 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-404.js?v=20260827a"></script> <script src="assets/js/i18n-404.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Unterstütze Dogfather dauerhaft mit der DogiCrew 🩵 und sammle exklusive Treueprämien — die Teddy-Kollektion entsteht in Kooperation mit VanVan." /> <meta name="twitter:description" content="Unterstütze Dogfather dauerhaft mit der DogiCrew 🩵 und sammle exklusive Treueprämien — die Teddy-Kollektion entsteht in Kooperation mit VanVan." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
<style> <style>
/* ===================================================================== /* =====================================================================
Preis-/Anmelde-Kiste — komplett neu gestaltet (Nutzer-Feedback Preis-/Anmelde-Kiste — komplett neu gestaltet (Nutzer-Feedback
@@ -603,9 +603,9 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-abonnieren.js?v=20260827a"></script> <script src="assets/js/i18n-abonnieren.js?v=20260828a"></script>
<script src="assets/js/supporter.js?v=20260827a"></script> <script src="assets/js/supporter.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script> <script>
(function () { (function () {
const S = window.DogiSupporter; const S = window.DogiSupporter;
+5 -5
View File
@@ -20,10 +20,10 @@
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<meta name="robots" content="noindex" /> <meta name="robots" content="noindex" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body> <body>
<div id="site-header"></div> <div id="site-header"></div>
@@ -134,6 +134,6 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Detailansicht einer Aktion oder eines Projekts von Team Dogi." /> <meta name="twitter:description" content="Detailansicht einer Aktion oder eines Projekts von Team Dogi." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body> <body>
<div id="site-header"></div> <div id="site-header"></div>
@@ -51,9 +51,9 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/data-aktionen.js?v=20260827a"></script> <script src="assets/js/data-aktionen.js?v=20260828a"></script>
<script src="assets/js/i18n-aktion-detail.js?v=20260827a"></script> <script src="assets/js/i18n-aktion-detail.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script> <script>
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
const params = new URLSearchParams(location.search); const params = new URLSearchParams(location.search);
+6 -1
View File
@@ -2460,7 +2460,12 @@ footer.site-footer {
} }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2rem; } .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2rem; }
@media (max-width: 760px) { .footer-grid { grid-template-columns: 1fr 1fr; } } @media (max-width: 760px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
.footer-grid h4 { font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; color: var(--accent); } /* Die Fußzeilen-Spaltentitel sind semantisch <h2> (eigenständige
Abschnitte unter der Seiten-h1), sehen aber bewusst klein und
gedämpft aus -- diese Regel überschreibt die große globale h2-Größe.
Bis 28.08.2026 waren es <h4>, was einen Sprung in der
Überschriftenordnung erzeugte (h2 -> h4); die Optik ist unverändert. */
.footer-grid h2 { font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; color: var(--accent); margin: 0 0 .5em; }
.footer-grid ul { display: grid; gap: .5rem; } .footer-grid ul { display: grid; gap: .5rem; }
.footer-grid a { color: var(--text-muted); font-size: .9rem; } .footer-grid a { color: var(--text-muted); font-size: .9rem; }
.footer-grid a:hover { color: var(--accent); } .footer-grid a:hover { color: var(--accent); }
+3 -3
View File
@@ -660,7 +660,7 @@
<button type="button" id="pwa-install-btn" class="btn btn-outline" style="display:none;margin-top:1rem;">📲 ${t("footer_app_installieren")}</button> <button type="button" id="pwa-install-btn" class="btn btn-outline" style="display:none;margin-top:1rem;">📲 ${t("footer_app_installieren")}</button>
</div> </div>
<div> <div>
<h4>${t("nav_dogfather")}</h4> <h2>${t("nav_dogfather")}</h2>
<ul> <ul>
<li><a href="dogfather.html">${t("nav_dogfather_person")}</a></li> <li><a href="dogfather.html">${t("nav_dogfather_person")}</a></li>
<li><a href="casper.html">${t("nav_dogfather_casper")}</a></li> <li><a href="casper.html">${t("nav_dogfather_casper")}</a></li>
@@ -670,7 +670,7 @@
</ul> </ul>
</div> </div>
<div> <div>
<h4>${t("footer_h4_hasidog_manager")}</h4> <h2>${t("footer_h4_hasidog_manager")}</h2>
<ul> <ul>
<!-- "DogFather"/streamer.html steht seit 20.08.2026 auch in der <!-- "DogFather"/streamer.html steht seit 20.08.2026 auch in der
Fußzeile in dieser Spalte (und ganz oben), damit sie dieselbe Fußzeile in dieser Spalte (und ganz oben), damit sie dieselbe
@@ -686,7 +686,7 @@
</ul> </ul>
</div> </div>
<div> <div>
<h4>${t("footer_h4_mehr")}</h4> <h2>${t("footer_h4_mehr")}</h2>
<ul> <ul>
<li><a href="links.html">${t("footer_alle_links")}</a></li> <li><a href="links.html">${t("footer_alle_links")}</a></li>
<li><a href="bewerben.html">${t("nav_manager_bewerben")}</a></li> <li><a href="bewerben.html">${t("nav_manager_bewerben")}</a></li>
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Du bist Streamer und suchst einen Manager? Bewirb dich als Creator bei Spicy Media." /> <meta name="twitter:description" content="Du bist Streamer und suchst einen Manager? Bewirb dich als Creator bei Spicy Media." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-creator.jpg');--page-bg-mobile:url('/assets/img/bg-bewerben-creator-mobile.jpg');"> <body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-creator.jpg');--page-bg-mobile:url('/assets/img/bg-bewerben-creator-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -70,8 +70,8 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/forms.js?v=20260827a"></script> <script src="assets/js/forms.js?v=20260828a"></script>
<script src="assets/js/i18n-bewerben-creator.js?v=20260827a"></script> <script src="assets/js/i18n-bewerben-creator.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+7 -7
View File
@@ -22,10 +22,10 @@
<meta name="twitter:description" content="Kooperationsanfrage an Manager DogFather / Spicy Media." /> <meta name="twitter:description" content="Kooperationsanfrage an Manager DogFather / Spicy Media." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben.jpg');--page-bg-mobile:url('/assets/img/bg-bewerben-mobile.jpg');"> <body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben.jpg');--page-bg-mobile:url('/assets/img/bg-bewerben-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -68,8 +68,8 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/forms.js?v=20260827a"></script> <script src="assets/js/forms.js?v=20260828a"></script>
<script src="assets/js/i18n-bewerben-kooperation.js?v=20260827a"></script> <script src="assets/js/i18n-bewerben-kooperation.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Werde Modi bei Team Dogi — DogFathers persönliches Community-Team." /> <meta name="twitter:description" content="Werde Modi bei Team Dogi — DogFathers persönliches Community-Team." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-modi.jpg');--page-bg-mobile:url('/assets/img/bg-bewerben-modi-mobile.jpg');"> <body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-modi.jpg');--page-bg-mobile:url('/assets/img/bg-bewerben-modi-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -79,8 +79,8 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/forms.js?v=20260827a"></script> <script src="assets/js/forms.js?v=20260828a"></script>
<script src="assets/js/i18n-bewerben-modi.js?v=20260827a"></script> <script src="assets/js/i18n-bewerben-modi.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Werde Scout für DogFather bei der Spicy Media Agentur — finde neue Talente." /> <meta name="twitter:description" content="Werde Scout für DogFather bei der Spicy Media Agentur — finde neue Talente." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-scout.jpg');--page-bg-mobile:url('/assets/img/bg-bewerben-scout-mobile.jpg');"> <body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-scout.jpg');--page-bg-mobile:url('/assets/img/bg-bewerben-scout-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -71,8 +71,8 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/forms.js?v=20260827a"></script> <script src="assets/js/forms.js?v=20260828a"></script>
<script src="assets/js/i18n-bewerben-scout.js?v=20260827a"></script> <script src="assets/js/i18n-bewerben-scout.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Werde Teil vom Team: Modi bei Team Dogi, Scout oder Creator bei Spicy Media, oder Kooperation anfragen." /> <meta name="twitter:description" content="Werde Teil vom Team: Modi bei Team Dogi, Scout oder Creator bei Spicy Media, oder Kooperation anfragen." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-split.jpg');--page-bg-mobile:url('/assets/img/bg-bewerben-split-mobile.jpg');"> <body class="mit-hintergrund bewerben-seite" style="--page-bg:url('/assets/img/bg-bewerben-split.jpg');--page-bg-mobile:url('/assets/img/bg-bewerben-split-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -85,7 +85,7 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-bewerben.js?v=20260827a"></script> <script src="assets/js/i18n-bewerben.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Der Husky an DogFathers Seite — das tierische Gesicht der HasiDog-Welt." /> <meta name="twitter:description" content="Der Husky an DogFathers Seite — das tierische Gesicht der HasiDog-Welt." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-casper.jpg');--page-bg-mobile:url('/assets/img/bg-casper-mobile.jpg');"> <body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-casper.jpg');--page-bg-mobile:url('/assets/img/bg-casper-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -85,7 +85,7 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-casper.js?v=20260827a"></script> <script src="assets/js/i18n-casper.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Team Dogi ist Familie — die Community rund um DogFather und HasiDog." /> <meta name="twitter:description" content="Team Dogi ist Familie — die Community rund um DogFather und HasiDog." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-community.jpg');--page-bg-mobile:url('/assets/img/bg-community-mobile.jpg');"> <body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-community.jpg');--page-bg-mobile:url('/assets/img/bg-community-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -84,7 +84,7 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-community.js?v=20260827a"></script> <script src="assets/js/i18n-community.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Content Creator, die Teil von DogFather / Spicy Media sind." /> <meta name="twitter:description" content="Content Creator, die Teil von DogFather / Spicy Media sind." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-creator.jpg');--page-bg-mobile:url('/assets/img/bg-creator-mobile.jpg');"> <body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-creator.jpg');--page-bg-mobile:url('/assets/img/bg-creator-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -60,9 +60,9 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/data-creator.js?v=20260827a"></script> <script src="assets/js/data-creator.js?v=20260828a"></script>
<script src="assets/js/i18n-creator.js?v=20260827a"></script> <script src="assets/js/i18n-creator.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script> <script>
document.addEventListener("DOMContentLoaded", async () => { document.addEventListener("DOMContentLoaded", async () => {
const grid = document.getElementById("creator-grid"); const grid = document.getElementById("creator-grid");
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Wer ist DogFather wirklich? Persönlichkeit, Werte und die Geschichte hinter dem Content." /> <meta name="twitter:description" content="Wer ist DogFather wirklich? Persönlichkeit, Werte und die Geschichte hinter dem Content." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-dogfather-person.jpg');--page-bg-mobile:url('/assets/img/bg-dogfather-person-mobile.jpg');"> <body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-dogfather-person.jpg');--page-bg-mobile:url('/assets/img/bg-dogfather-person-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -158,7 +158,7 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-dogfather.js?v=20260827a"></script> <script src="assets/js/i18n-dogfather.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+2 -2
View File
@@ -26,8 +26,8 @@
<meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="DogFather" /> <meta name="apple-mobile-web-app-title" content="DogFather" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<style> <style>
/* ===================================================================== /* =====================================================================
Zugangsseite — bewusst kein braves Standard-Login-Formular, sondern Zugangsseite — bewusst kein braves Standard-Login-Formular, sondern
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="HasiDog: Maskottchen, Musikprojekt und die verspielte, familiäre Seite von Team Dogi." /> <meta name="twitter:description" content="HasiDog: Maskottchen, Musikprojekt und die verspielte, familiäre Seite von Team Dogi." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-hasidog.jpg');--page-bg-mobile:url('/assets/img/bg-hasidog-mobile.jpg');"> <body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-hasidog.jpg');--page-bg-mobile:url('/assets/img/bg-hasidog-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -186,7 +186,7 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-hasidog.js?v=20260827a"></script> <script src="assets/js/i18n-hasidog.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+8 -8
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="DOGFATHER UNIVERSE: die Heimat von DogFather als Streamer, der HasiDog-Community und Manager DogFather bei Spicy Media." /> <meta name="twitter:description" content="DOGFATHER UNIVERSE: die Heimat von DogFather als Streamer, der HasiDog-Community und Manager DogFather bei Spicy Media." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="start-seite"> <body class="start-seite">
<div id="site-header"></div> <div id="site-header"></div>
@@ -290,10 +290,10 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/data-modis.js?v=20260827a"></script> <script src="assets/js/data-modis.js?v=20260828a"></script>
<script src="assets/js/data-scouts.js?v=20260827a"></script> <script src="assets/js/data-scouts.js?v=20260828a"></script>
<script src="assets/js/i18n-index.js?v=20260827a"></script> <script src="assets/js/i18n-index.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script> <script>
// Gleiche URL wie in assets/js/forms.js / postfach.html — läuft seit // Gleiche URL wie in assets/js/forms.js / postfach.html — läuft seit
// 05.08.2026 auf dem eigenen Server statt auf Cloudflare Workers. // 05.08.2026 auf dem eigenen Server statt auf Cloudflare Workers.
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Kontakt, Impressum und Datenschutz von DOGFATHER UNIVERSE." /> <meta name="twitter:description" content="Kontakt, Impressum und Datenschutz von DOGFATHER UNIVERSE." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body> <body>
<div id="site-header"></div> <div id="site-header"></div>
@@ -126,7 +126,7 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-kontakt.js?v=20260827a"></script> <script src="assets/js/i18n-kontakt.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Alle Social-Media- und Musik-Links von DogFather an einem Ort — plus QR-Codes." /> <meta name="twitter:description" content="Alle Social-Media- und Musik-Links von DogFather an einem Ort — plus QR-Codes." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
<style> <style>
/* Rabattcodes: an das Supporter-Abo gekoppelt (Nutzer-Feedback /* Rabattcodes: an das Supporter-Abo gekoppelt (Nutzer-Feedback
03.08.2026: "verbinde es mit dem Abo... wenn die Leute drauf drücken 03.08.2026: "verbinde es mit dem Abo... wenn die Leute drauf drücken
@@ -140,8 +140,8 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-links.js?v=20260827a"></script> <script src="assets/js/i18n-links.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script> <script>
(function () { (function () {
document.addEventListener("DOMContentLoaded", function () { document.addEventListener("DOMContentLoaded", function () {
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="DogFather als Manager bei der Spicy Media Agency: Scouts, Creator und faire Zusammenarbeit." /> <meta name="twitter:description" content="DogFather als Manager bei der Spicy Media Agency: Scouts, Creator und faire Zusammenarbeit." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-manager.jpg');--page-bg-mobile:url('/assets/img/bg-manager-mobile.jpg');"> <body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-manager.jpg');--page-bg-mobile:url('/assets/img/bg-manager-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -139,9 +139,9 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/data-manager.js?v=20260827a"></script> <script src="assets/js/data-manager.js?v=20260828a"></script>
<script src="assets/js/i18n-manager.js?v=20260827a"></script> <script src="assets/js/i18n-manager.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script> <script>
// "Weitere Manager" (21.08.2026) -- siehe Kommentar bei #weitere-manager-root // "Weitere Manager" (21.08.2026) -- siehe Kommentar bei #weitere-manager-root
// oben. Aktuell IMMER window.MANAGERS === [] (siehe data-manager.js), Inhalt // oben. Aktuell IMMER window.MANAGERS === [] (siehe data-manager.js), Inhalt
+9 -9
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Fotos und Videos rund um Husky Casper an einem Ort." /> <meta name="twitter:description" content="Fotos und Videos rund um Husky Casper an einem Ort." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" data-welt="casper" style="--page-bg:url('/assets/img/bg-medien-casper.jpg');--page-bg-mobile:url('/assets/img/bg-medien-casper-mobile.jpg');"> <body class="mit-hintergrund" data-welt="casper" style="--page-bg:url('/assets/img/bg-medien-casper.jpg');--page-bg-mobile:url('/assets/img/bg-medien-casper-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -59,10 +59,10 @@
</div> </div>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/data-media.js?v=20260827a"></script> <script src="assets/js/data-media.js?v=20260828a"></script>
<script src="assets/js/data-videos.js?v=20260827a"></script> <script src="assets/js/data-videos.js?v=20260828a"></script>
<script src="assets/js/medien-welt.js?v=20260827a"></script> <script src="assets/js/medien-welt.js?v=20260828a"></script>
<script src="assets/js/i18n-medien-casper.js?v=20260827a"></script> <script src="assets/js/i18n-medien-casper.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+10 -10
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Fotos, Videos und Events aus DogFathers Welt an einem Ort." /> <meta name="twitter:description" content="Fotos, Videos und Events aus DogFathers Welt an einem Ort." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" data-welt="dogfather" style="--page-bg:url('/assets/img/bg-dogfather.jpg');--page-bg-mobile:url('/assets/img/bg-dogfather-mobile.jpg');"> <body class="mit-hintergrund" data-welt="dogfather" style="--page-bg:url('/assets/img/bg-dogfather.jpg');--page-bg-mobile:url('/assets/img/bg-dogfather-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -65,11 +65,11 @@
</div> </div>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/data-media.js?v=20260827a"></script> <script src="assets/js/data-media.js?v=20260828a"></script>
<script src="assets/js/data-videos.js?v=20260827a"></script> <script src="assets/js/data-videos.js?v=20260828a"></script>
<script src="assets/js/data-aktionen.js?v=20260827a"></script> <script src="assets/js/data-aktionen.js?v=20260828a"></script>
<script src="assets/js/medien-welt.js?v=20260827a"></script> <script src="assets/js/medien-welt.js?v=20260828a"></script>
<script src="assets/js/i18n-medien-dogfather.js?v=20260827a"></script> <script src="assets/js/i18n-medien-dogfather.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+10 -10
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Fotos, Videos und Events aus der HasiDog-Welt an einem Ort." /> <meta name="twitter:description" content="Fotos, Videos und Events aus der HasiDog-Welt an einem Ort." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" data-welt="hasidog" style="--page-bg:url('/assets/img/bg-medien-hasidog.jpg');--page-bg-mobile:url('/assets/img/bg-medien-hasidog-mobile.jpg');"> <body class="mit-hintergrund" data-welt="hasidog" style="--page-bg:url('/assets/img/bg-medien-hasidog.jpg');--page-bg-mobile:url('/assets/img/bg-medien-hasidog-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -65,11 +65,11 @@
</div> </div>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/data-media.js?v=20260827a"></script> <script src="assets/js/data-media.js?v=20260828a"></script>
<script src="assets/js/data-videos.js?v=20260827a"></script> <script src="assets/js/data-videos.js?v=20260828a"></script>
<script src="assets/js/data-aktionen.js?v=20260827a"></script> <script src="assets/js/data-aktionen.js?v=20260828a"></script>
<script src="assets/js/medien-welt.js?v=20260827a"></script> <script src="assets/js/medien-welt.js?v=20260828a"></script>
<script src="assets/js/i18n-medien-hasidog.js?v=20260827a"></script> <script src="assets/js/i18n-medien-hasidog.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+10 -10
View File
@@ -16,10 +16,10 @@
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="robots" content="noindex" /> <!-- generische URL, echte Team-Seiten verlinken hierher --> <meta name="robots" content="noindex" /> <!-- generische URL, echte Team-Seiten verlinken hierher -->
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
<style> <style>
.profil-photo { aspect-ratio: 4/5; max-width: 420px; margin: 0 auto; } .profil-photo { aspect-ratio: 4/5; max-width: 420px; margin: 0 auto; }
.profil-photo img { width: 100%; height: 100%; object-fit: cover; display: block; } .profil-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
@@ -130,12 +130,12 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/data-modis.js?v=20260827a"></script> <script src="assets/js/data-modis.js?v=20260828a"></script>
<script src="assets/js/data-scouts.js?v=20260827a"></script> <script src="assets/js/data-scouts.js?v=20260828a"></script>
<script src="assets/js/data-creator.js?v=20260827a"></script> <script src="assets/js/data-creator.js?v=20260828a"></script>
<script src="assets/js/data-manager.js?v=20260827a"></script> <script src="assets/js/data-manager.js?v=20260828a"></script>
<script src="assets/js/i18n-profil.js?v=20260827a"></script> <script src="assets/js/i18n-profil.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script> <script>
document.addEventListener("DOMContentLoaded", async () => { document.addEventListener("DOMContentLoaded", async () => {
const slug = new URLSearchParams(location.search).get("p") || ""; const slug = new URLSearchParams(location.search).get("p") || "";
+125
View File
@@ -0,0 +1,125 @@
/* =====================================================================
Barrierefreiheit jenseits der Tastatur (WCAG 2.1 AA)
Die Tastaturbedienung (Sprung zum Inhalt, Fokus, keine Falle) ist in
pruef-tastatur.mjs abgedeckt und live grün. Dieser Test prüft die
übrigen Punkte, die man beim bloßen Ansehen nicht bemerkt, für einen
Bildschirmleser oder bei starkem Zoom aber entscheidend sind:
1. BILDBESCHREIBUNGEN (WCAG 1.1.1) — Jedes inhaltstragende Bild braucht
ein alt. Ein DEKO-Bild braucht umgekehrt ein LEERES alt="", sonst
liest der Bildschirmleser den Dateinamen vor. Was hier zählt, ist:
Gibt es überhaupt ein alt-Attribut? Ein fehlendes ist der Fehler.
2. ÜBERSCHRIFTENORDNUNG (WCAG 1.3.1) — Genau eine h1, und keine
übersprungene Ebene (h2 -> h4). Für Bildschirmleser ist die
Überschriftenliste das Inhaltsverzeichnis der Seite.
3. FORMULARBESCHRIFTUNG (WCAG 1.3.1, 4.1.2) — Jedes Eingabefeld braucht
eine programmatisch verknüpfte Beschriftung (label[for], umschließendes
label, aria-label oder aria-labelledby). Ein bloßer Platzhalter zählt
NICHT: er verschwindet beim Tippen und wird nicht überall vorgelesen.
4. SPRACHE (WCAG 3.1.1) — <html lang> muss gesetzt sein und zur
angezeigten Sprache passen, sonst spricht ein Bildschirmleser den
Text in der falschen Aussprache.
5. ZOOM (WCAG 1.4.4) — Der Viewport darf Zoom nicht verbieten
(user-scalable=no oder maximum-scale=1 sperrt Sehbehinderte aus).
Rein statische Prüfung des ausgelieferten HTML -- schnell, und deckt
alle Seiten ab.
===================================================================== */
import { chromium } from "playwright";
const BASIS = "https://dogfather-universe.com";
const SEITEN = [
"/", "/kontakt.html", "/supporter.html", "/abonnieren.html", "/stimmen.html",
"/bewerben.html", "/dogfather.html", "/hasidog.html", "/links.html", "/werte.html",
];
let ok = 0, fehl = 0;
const funde = [];
const pruefe = (seite, name, gut, info) => {
if (gut) { ok++; console.log(" ok " + name + (info ? " -> " + info : "")); }
else { fehl++; console.log(" FEHL " + name + (info ? " -> " + info : "")); funde.push(`${seite}: ${name} — ${info}`); }
};
const browser = await chromium.launch();
for (const pfad of SEITEN) {
console.log(`\n===== ${pfad} =====`);
const seite = await browser.newPage({ viewport: { width: 1280, height: 900 } });
await seite.goto(BASIS + pfad, { waitUntil: "networkidle", timeout: 45000 });
await seite.waitForTimeout(600);
const befund = await seite.evaluate(() => {
/* 1. Bilder ohne alt-Attribut (leeres alt ist erlaubt). */
const bilderOhneAlt = [...document.querySelectorAll("img")]
.filter((im) => {
const r = im.getBoundingClientRect();
return r.width > 4 && r.height > 4 && !im.hasAttribute("alt");
})
.map((im) => (im.currentSrc || im.src || "").split("/").pop().slice(0, 40))
.slice(0, 6);
/* 2. Überschriften einsammeln. */
const ueber = [...document.querySelectorAll("h1,h2,h3,h4,h5,h6")]
.filter((h) => {
const r = h.getBoundingClientRect();
const st = getComputedStyle(h);
return r.height > 0 && st.visibility !== "hidden" && st.display !== "none";
})
.map((h) => Number(h.tagName[1]));
const h1Zahl = ueber.filter((n) => n === 1).length;
let sprung = null;
for (let i = 1; i < ueber.length; i++) {
if (ueber[i] - ueber[i - 1] > 1) { sprung = `h${ueber[i - 1]} -> h${ueber[i]}`; break; }
}
/* 3. Eingabefelder ohne Beschriftung. Verstecktes und Knöpfe raus. */
const felder = [...document.querySelectorAll("input, select, textarea")]
.filter((f) => {
const typ = (f.getAttribute("type") || "text").toLowerCase();
if (["hidden", "submit", "button", "reset", "image"].includes(typ)) return false;
const r = f.getBoundingClientRect();
return r.width > 0 && r.height > 0;
});
const ohneLabel = felder.filter((f) => {
if (f.getAttribute("aria-label")?.trim()) return false;
if (f.getAttribute("aria-labelledby")?.trim()) return false;
if (f.id && document.querySelector(`label[for="${CSS.escape(f.id)}"]`)) return false;
if (f.closest("label")) return false;
if (f.getAttribute("title")?.trim()) return false;
return true;
}).map((f) => (f.getAttribute("name") || f.getAttribute("type") || f.tagName).slice(0, 30)).slice(0, 6);
/* 4. Sprache. */
const lang = document.documentElement.getAttribute("lang");
/* 5. Zoom-Sperre im Viewport. */
const vp = document.querySelector('meta[name="viewport"]')?.getAttribute("content") || "";
const zoomGesperrt = /user-scalable\s*=\s*(no|0)/i.test(vp) || /maximum-scale\s*=\s*1(\.0)?\b/.test(vp);
return { bilderOhneAlt, h1Zahl, sprung, ohneLabel, lang, zoomGesperrt, felderGesamt: felder.length };
});
pruefe(pfad, " alle Bilder haben ein alt-Attribut", befund.bilderOhneAlt.length === 0,
befund.bilderOhneAlt.length ? befund.bilderOhneAlt.join(", ") : "ok");
pruefe(pfad, " genau eine h1", befund.h1Zahl === 1, `${befund.h1Zahl} Stück`);
pruefe(pfad, " keine übersprungene Überschriftenebene", !befund.sprung, befund.sprung || "lückenlos");
pruefe(pfad, " jedes Eingabefeld ist beschriftet", befund.ohneLabel.length === 0,
befund.ohneLabel.length ? befund.ohneLabel.join(", ") : `${befund.felderGesamt} Felder ok`);
pruefe(pfad, " Sprache ausgezeichnet", !!befund.lang, befund.lang || "kein lang-Attribut");
pruefe(pfad, " Zoom nicht gesperrt", !befund.zoomGesperrt, befund.zoomGesperrt ? "user-scalable/maximum-scale sperrt" : "frei");
await seite.close();
}
await browser.close();
console.log(`\n===== ${ok} bestanden, ${fehl} fehlgeschlagen =====`);
if (funde.length) {
console.log("\nZu beheben:");
for (const f of funde) console.log(" - " + f);
}
process.exitCode = fehl ? 1 : 0;
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Rabattcodes von Dogis Partnern für Team Dogi — spar bares Geld bei ausgewählten Marken." /> <meta name="twitter:description" content="Rabattcodes von Dogis Partnern für Team Dogi — spar bares Geld bei ausgewählten Marken." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
<style> <style>
/* Leere-Zustand-Kachel im "Gutschein"-Look: gestrichelter Rand wie ein /* Leere-Zustand-Kachel im "Gutschein"-Look: gestrichelter Rand wie ein
ausgeschnittener Coupon, damit auch OHNE echte Codes schon klar ist, ausgeschnittener Coupon, damit auch OHNE echte Codes schon klar ist,
@@ -131,8 +131,8 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-rabattcodes.js?v=20260827a"></script> <script src="assets/js/i18n-rabattcodes.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script> <script>
(function () { (function () {
document.addEventListener("DOMContentLoaded", function () { document.addEventListener("DOMContentLoaded", function () {
+8 -8
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Was die Community und das Team über DogFather sagen." /> <meta name="twitter:description" content="Was die Community und das Team über DogFather sagen." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-stimmen.jpg');--page-bg-mobile:url('/assets/img/bg-stimmen-mobile.jpg');"> <body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-stimmen.jpg');--page-bg-mobile:url('/assets/img/bg-stimmen-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -102,9 +102,9 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/data-stimmen-avatare.js?v=20260827a"></script> <script src="assets/js/data-stimmen-avatare.js?v=20260828a"></script>
<script src="assets/js/i18n-stimmen.js?v=20260827a"></script> <script src="assets/js/i18n-stimmen.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script src="assets/js/stimmen.js?v=20260827a"></script> <script src="assets/js/stimmen.js?v=20260828a"></script>
</body> </body>
</html> </html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Die persönliche Geschichte hinter DogFather — Filipe, Streamer, Manager bei Spicy Media und Hundepapa von Husky Casper." /> <meta name="twitter:description" content="Die persönliche Geschichte hinter DogFather — Filipe, Streamer, Manager bei Spicy Media und Hundepapa von Husky Casper." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamer.jpg');--page-bg-mobile:url('/assets/img/bg-streamer-mobile.jpg');"> <body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamer.jpg');--page-bg-mobile:url('/assets/img/bg-streamer-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -217,7 +217,7 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-streamer.js?v=20260827a"></script> <script src="assets/js/i18n-streamer.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+9 -9
View File
@@ -19,17 +19,17 @@
<meta name="twitter:description" content="Wann geht DogFather live? Streamplan und Livebereich." /> <meta name="twitter:description" content="Wann geht DogFather live? Streamplan und Livebereich." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamplan.jpg?v=20260827a');--page-bg-mobile:url('/assets/img/bg-streamplan-mobile.jpg?v=20260827a');"> <body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-streamplan.jpg?v=20260828a');--page-bg-mobile:url('/assets/img/bg-streamplan-mobile.jpg?v=20260828a');">
<div id="site-header"></div> <div id="site-header"></div>
<main> <main>
<section class="hero page-bg"> <section class="hero page-bg">
<div class="hero-banner"><img src="/assets/img/bg-streamplan.jpg?v=20260827a" alt="" loading="eager" /></div> <div class="hero-banner"><img src="/assets/img/bg-streamplan.jpg?v=20260828a" alt="" loading="eager" /></div>
<div class="container"> <div class="container">
<span class="eyebrow" data-i18n="sp_eyebrow">Welt 1 — DogFather</span> <span class="eyebrow" data-i18n="sp_eyebrow">Welt 1 — DogFather</span>
<h1 data-i18n="sp_h1">Streamplan &amp; Livebereich</h1> <h1 data-i18n="sp_h1">Streamplan &amp; Livebereich</h1>
@@ -126,8 +126,8 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-streamplan.js?v=20260827a"></script> <script src="assets/js/i18n-streamplan.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script src="assets/js/streamplan.js?v=20260827a"></script> <script src="assets/js/streamplan.js?v=20260828a"></script>
</body> </body>
</html> </html>
+7 -7
View File
@@ -9,10 +9,10 @@
<link rel="manifest" href="/manifest.json" /> <link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#0b0d10" /> <meta name="theme-color" content="#0b0d10" />
<meta name="robots" content="noindex" /> <meta name="robots" content="noindex" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
<style> <style>
/* ===================================================================== /* =====================================================================
Supporter-Bereich — komplett neu gestaltet (Nutzer-Feedback Supporter-Bereich — komplett neu gestaltet (Nutzer-Feedback
@@ -515,9 +515,9 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-supporter.js?v=20260827a"></script> <script src="assets/js/i18n-supporter.js?v=20260828a"></script>
<script src="assets/js/supporter.js?v=20260827a"></script> <script src="assets/js/supporter.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script> <script>
(function () { (function () {
const S = window.DogiSupporter; const S = window.DogiSupporter;
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="VanVan, Diene, Funny, Miss und Marina — das Modi-/Core-Team von Team Dogi." /> <meta name="twitter:description" content="VanVan, Diene, Funny, Miss und Marina — das Modi-/Core-Team von Team Dogi." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-modis.jpg');--page-bg-mobile:url('/assets/img/bg-modis.jpg');"> <body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-modis.jpg');--page-bg-mobile:url('/assets/img/bg-modis.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -72,9 +72,9 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/data-modis.js?v=20260827a"></script> <script src="assets/js/data-modis.js?v=20260828a"></script>
<script src="assets/js/i18n-team-modis.js?v=20260827a"></script> <script src="assets/js/i18n-team-modis.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script> <script>
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
const grid = document.getElementById("modis-grid"); const grid = document.getElementById("modis-grid");
+7 -7
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Die Scouts von Team Dogi bei Spicy Media." /> <meta name="twitter:description" content="Die Scouts von Team Dogi bei Spicy Media." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-scouts.jpg');--page-bg-mobile:url('/assets/img/bg-scouts-mobile.jpg');"> <body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-scouts.jpg');--page-bg-mobile:url('/assets/img/bg-scouts-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -49,9 +49,9 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/data-scouts.js?v=20260827a"></script> <script src="assets/js/data-scouts.js?v=20260828a"></script>
<script src="assets/js/i18n-team-scouts.js?v=20260827a"></script> <script src="assets/js/i18n-team-scouts.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script> <script>
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
const grid = document.getElementById("scouts-grid"); const grid = document.getElementById("scouts-grid");
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Eine persönliche Widmung von Dogi an Tili — seine TikTok-Muddi, die erste und bis heute einzige Streamerin, die ihm all die Zeit treu geblieben ist." /> <meta name="twitter:description" content="Eine persönliche Widmung von Dogi an Tili — seine TikTok-Muddi, die erste und bis heute einzige Streamerin, die ihm all die Zeit treu geblieben ist." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
<style> <style>
/* Gleiche Anpassung wie vanvan.html: der site-weit etwas größere /* Gleiche Anpassung wie vanvan.html: der site-weit etwas größere
Fließtext wirkt bei einem so langen persönlichen Brief zu wuchtig — Fließtext wirkt bei einem so langen persönlichen Brief zu wuchtig —
@@ -153,7 +153,7 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-tt-muddi.js?v=20260827a"></script> <script src="assets/js/i18n-tt-muddi.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="VanVan erzählt ihre Geschichte: wie sie zu Team Dogi kam, wer sie ist und was DogFather und Team Dogi ihr bedeuten." /> <meta name="twitter:description" content="VanVan erzählt ihre Geschichte: wie sie zu Team Dogi kam, wer sie ist und was DogFather und Team Dogi ihr bedeuten." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
<style> <style>
/* Auf Wunsch: der site-weit vergrößerte Fließtext wirkte auf VanVans /* Auf Wunsch: der site-weit vergrößerte Fließtext wirkte auf VanVans
eigener Seite zu groß (viel Text am Stück) — hier gezielt wieder eigener Seite zu groß (viel Text am Stück) — hier gezielt wieder
@@ -175,7 +175,7 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-vanvan.js?v=20260827a"></script> <script src="assets/js/i18n-vanvan.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+11 -11
View File
@@ -19,10 +19,10 @@
<link rel="apple-touch-icon" href="assets/img/apple-touch-icon-admin.png" /> <link rel="apple-touch-icon" href="assets/img/apple-touch-icon-admin.png" />
<meta name="apple-mobile-web-app-title" content="DogiCrew-Verwaltung" /> <meta name="apple-mobile-web-app-title" content="DogiCrew-Verwaltung" />
<meta name="theme-color" content="#0e0a16" /> <meta name="theme-color" content="#0e0a16" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
<style> <style>
/* ===================================================================== /* =====================================================================
verwaltung.html — Dogis privater Command-Center-Bereich. verwaltung.html — Dogis privater Command-Center-Bereich.
@@ -1245,13 +1245,13 @@
<!-- 21.08.2026: für den "Bestehende Mitglieder importieren"-Knopf in der <!-- 21.08.2026: für den "Bestehende Mitglieder importieren"-Knopf in der
Team-Verwaltung -- liest die von Hand gepflegten Profile aus diesen Team-Verwaltung -- liest die von Hand gepflegten Profile aus diesen
Dateien aus und bietet an, sie 1:1 in die Datenbank zu übernehmen. --> Dateien aus und bietet an, sie 1:1 in die Datenbank zu übernehmen. -->
<script src="assets/js/data-modis.js?v=20260827a"></script> <script src="assets/js/data-modis.js?v=20260828a"></script>
<script src="assets/js/data-scouts.js?v=20260827a"></script> <script src="assets/js/data-scouts.js?v=20260828a"></script>
<script src="assets/js/data-creator.js?v=20260827a"></script> <script src="assets/js/data-creator.js?v=20260828a"></script>
<script src="assets/js/data-manager.js?v=20260827a"></script> <script src="assets/js/data-manager.js?v=20260828a"></script>
<script src="assets/js/data-stimmen-avatare.js?v=20260827a"></script> <script src="assets/js/data-stimmen-avatare.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script src="assets/js/admin-auth.js?v=20260827a"></script> <script src="assets/js/admin-auth.js?v=20260828a"></script>
<script> <script>
(function () { (function () {
const API_BASE_URL = "https://postfach.dogfather-universe.com"; const API_BASE_URL = "https://postfach.dogfather-universe.com";
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Die Werte, nach denen DogFather als Manager bei Spicy Media arbeitet." /> <meta name="twitter:description" content="Die Werte, nach denen DogFather als Manager bei Spicy Media arbeitet." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-werte.jpg');--page-bg-mobile:url('/assets/img/bg-werte-mobile.jpg');"> <body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-werte.jpg');--page-bg-mobile:url('/assets/img/bg-werte-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -113,7 +113,7 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-werte.js?v=20260827a"></script> <script src="assets/js/i18n-werte.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
</body> </body>
</html> </html>
+6 -6
View File
@@ -19,10 +19,10 @@
<meta name="twitter:description" content="Die Geschichte von DogFather in einer interaktiven Zeitleiste." /> <meta name="twitter:description" content="Die Geschichte von DogFather in einer interaktiven Zeitleiste." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" /> <meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/main.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260828a" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260827a" /> <link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260828a" />
</head> </head>
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-zeitreise.jpg');--page-bg-mobile:url('/assets/img/bg-zeitreise-mobile.jpg');"> <body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-zeitreise.jpg');--page-bg-mobile:url('/assets/img/bg-zeitreise-mobile.jpg');">
<div id="site-header"></div> <div id="site-header"></div>
@@ -237,8 +237,8 @@
</main> </main>
<div id="site-footer"></div> <div id="site-footer"></div>
<script src="assets/js/i18n-zeitreise.js?v=20260827a"></script> <script src="assets/js/i18n-zeitreise.js?v=20260828a"></script>
<script src="assets/js/main.js?v=20260827a"></script> <script src="assets/js/main.js?v=20260828a"></script>
<script> <script>
/* Wachstums-Reveal: Äste blenden sich beim Scrollen sanft ein — passt /* Wachstums-Reveal: Äste blenden sich beim Scrollen sanft ein — passt
zum "wachsenden Baum"-Konzept dieser Seite. Rein page-lokal, betrifft zum "wachsenden Baum"-Konzept dieser Seite. Rein page-lokal, betrifft