Website-Refresh: Neues Logo, CMS-gesteuerte About-Seite & Umlaut-Fix
Überblick der Änderungen
In dieser Session haben wir die matzka.cloud Website in mehreren Bereichen verbessert. Die wichtigsten Neuerungen im Überblick:
- Neues Logo mit Cyan-Akzent
- CMS-Integration für die About-Seite
- Umlaut-Korrektur in allen Texten
- Lucide Icons statt Emojis
- Verbesserte Navigation bei Anchor-Links
Das neue Logo
Das bisherige Logo bestand aus einem separaten Icon (M-Logo.png) und dem Text "Matzka Cloud". Wir haben es durch ein einheitliches SVG-Logo ersetzt:
- Cloud-Icon in Electric Cyan (#00e1ff) – passend zum Glassmorphism-Design
- "matzka" in Weiß – klar und kontrastreich
- ".cloud" dezent abgesetzt – mit leichter Transparenz
- Größe optimiert auf 260×64 Pixel für den Header
Das neue Logo fügt sich nahtlos in das bestehende Design ein und verstärkt den professionellen Gesamteindruck.
About-Seite: Von Hardcoded zu CMS-gesteuert
Die About-Seite war bisher komplett im Code hardcoded. Das bedeutete: Jede Textänderung erforderte einen Code-Commit und ein Deployment. Das haben wir geändert.
Neue Directus Collection: about_sections
Wir haben eine neue Collection in Directus erstellt mit folgenden Feldern:
- slug – URL-freundlicher Identifier für Anchor-Links
- icon – Dropdown mit Lucide Icon-Namen
- title – Überschrift der Sektion
- content – WYSIWYG-Editor für HTML-Inhalte
- sort – Reihenfolge der Sektionen
Dynamisches Icon-Mapping
Im Next.js-Code wird der Icon-Name aus Directus auf eine Lucide-Komponente gemappt:
const iconMap = {
users: LucideIcons.Users,
rocket: LucideIcons.Rocket,
sprout: LucideIcons.Sprout,
shield: LucideIcons.Shield,
// ... weitere Icons
};So können Redakteure im CMS einfach ein Icon auswählen, ohne Code zu ändern.
Spezielle CSS-Klassen für Listen
Für die Service-Liste und Checkmark-Liste haben wir CSS-Klassen erstellt, die automatisch Lucide-Icons als SVG einbetten:
class="service-list"– Zeigt Pfeil-Icons vor jedem Listenpunktclass="check-list"– Zeigt grüne Häkchen vor jedem Listenpunkt
Umlaut-Problem gelöst
Ein subtiler aber wichtiger Bug: Deutsche Umlaute (ä, ö, ü, ß) wurden als Fragezeichen oder gar nicht angezeigt. Die Ursache war der Google Font "Inter", der nur mit dem latin Subset geladen wurde.
Die Lösung
const inter = Inter({
subsets: ["latin", "latin-ext"], // latin-ext hinzugefügt!
display: "swap",
});Das latin-ext Subset enthält alle erweiterten lateinischen Zeichen, einschließlich der deutschen Umlaute.
Zusätzlich haben wir alle hardcodierten Texte durchsucht und korrigiert – insgesamt über 60 Stellen in 13 Dateien.
Verbesserte Anchor-Navigation
Bei Links wie /about#wer-wir-sind wurde der Inhalt vom sticky Header verdeckt. Die Lösung:
html {
scroll-padding-top: 7rem;
scroll-behavior: smooth;
}
[id] {
scroll-margin-top: 7rem;
}Jetzt scrollt der Browser 112 Pixel (7rem) über das Ziel hinaus, sodass der Header den Inhalt nicht verdeckt.
Technische Details
Geänderte Dateien
layout.tsx– Font Subset erweitertHeader.tsx– Neues Logo eingebundenabout/page.tsx– Komplett neu mit CMS-Integrationglobals.css– About-Content Styles, Scroll-Offsetlogo-white.svg– Cyan Cloud-Icon- 13 weitere Dateien – Umlaut-Korrekturen
Directus-Konfiguration
- Collection:
about_sections - Public Read: Aktiviert
- 4 initiale Sektionen eingefügt
Fazit
Mit diesen Änderungen ist die matzka.cloud Website nun:
- Professioneller – Einheitliches Logo im Cyan-Design
- Flexibler – About-Inhalte via CMS editierbar
- Korrekter – Deutsche Umlaute werden richtig angezeigt
- Benutzerfreundlicher – Anchor-Links funktionieren mit sticky Header
Die Änderungen zeigen, wie KI-gestützte Entwicklung mit Claude Code effizient mehrere Verbesserungen in einer Session umsetzen kann – von Bug-Fixes über Design-Updates bis hin zu CMS-Integrationen.