Zurück zum Blog

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 Listenpunkt
  • class="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 erweitert
  • Header.tsx – Neues Logo eingebunden
  • about/page.tsx – Komplett neu mit CMS-Integration
  • globals.css – About-Content Styles, Scroll-Offset
  • logo-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.