Files
tsv08kulmbach-website/app/layout.php
Felix Schneider 0f19729a88 Neubau Fundament + Startseite: Designsystem, PHP-Komponenten, Brevo-Formular, Instagram-Sync
- Ordnerstruktur mit public/-Docroot, Deny-.htaccess für app/bin/config/data/storage
- CLAUDE.md mit Leitplanken (self-hosted only, Single Source of Truth, Component-first)
- Design-Tokens aus alter Seite extrahiert (Akzent #e20612, Coolvetica/Abel als woff2)
- Front Controller mit Routen-Register, Sitemap, Canonical, JSON-LD (SportsClub)
- Startseite: Hero, Instagram-Feed (lokaler Cache), Historie/Sportheim, Stats, Partner, Kontakt
- Kontaktformular via PHPMailer/Brevo mit Honeypot + HMAC-Time-Trap (kein reCAPTCHA)
- bin/instagram-sync.php: Scraper mit Strategie-Kette, flock, atomarem Cache, lokalen Bildern

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 21:16:44 +02:00

23 lines
477 B
PHP

<?php
declare(strict_types=1);
/**
* Master-Shell. Erwartet: $meta (array), $content (string), $current (Slug der aktiven Route).
*/
?>
<!doctype html>
<html lang="de">
<head>
<?php component('meta', ['meta' => $meta, 'current' => $current]); ?>
</head>
<body>
<a class="skip-link" href="#main">Zum Inhalt springen</a>
<?php component('header', ['current' => $current]); ?>
<main id="main">
<?= $content ?>
</main>
<?php component('footer'); ?>
</body>
</html>