Communitygithub.com

Landing Page Builder

Ein vollständiges Designsystem zur Erstellung schöner, interaktiver Landing Pages mit reinem HTML/CSS/JS – ohne Frameworks oder Build-Schritt. Ideal für Produktseiten, Marketing-Sites und Dokumentationen, die auf statischen Hosts wie GitHub Pages oder Netlify deployt werden.

Was ist Landing Page Builder?

Dieses Skill bietet ein komplettes Designsystem inklusive Komponentenbibliothek für den Bau ansprechender Landing Pages mit reinem HTML/CSS/JS. Es basiert auf wiederverwendbaren CSS-Design-Tokens, JS-Interaktionsmustern und HTML-Komponentenvorlagen – ganz ohne Build-Setup oder Framework-Abhängigkeiten. Der Workflow ist einfach: Kopiere die Designsystem-Dateien, setze Sektionen aus Komponentenvorlagen zusammen und passe die Tokens an Deine Marke an. Die Systemunterstützung umfasst Dark/Light-Theme-Switching, Scroll-Animationen, Tooltips, Tabs, Code-Blöcke und eine einfache Mehrsprachigkeit (i18n). Geeignet für GitHub Pages, Netlify oder jeden anderen statischen Hoster. Nicht geeignet für komplexe Web-Apps, serverseitig gerenderte Seiten oder administrative Dashboards. Das Skill legt besonderen Wert auf Barrierefreiheit (Tastaturnavigation, Fokus-Stile, reduced-motion-Einstellungen, no-JS-Fallback) und enthält eine Liste häufiger Fehler sowie deren Lösungen, um die Qualität der Ausgabe sicherzustellen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add cskwork/landing-page-skill

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Landing Page Builder?

Übersicht

Ein komplettes Designsystem + Komponentenbibliothek zum Erstellen schöner, interaktiver Landing Pages in reinem HTML/CSS/JS – keine Frameworks, kein Build-Schritt. Liefert wiederverwendbare CSS-Design-Tokens, JS-Interaktionsmuster und HTML-Komponentenvorlagen.

Grundprinzip: Kopiere die Designsystem-Dateien, setze Sektionen aus Komponentenvorlagen zusammen, passe Tokens an. Alles funktioniert ohne Abhängigkeiten (optional: Google Fonts CDN).

Wann verwenden

  • Erstellen einer Produkt-Landingpage, Marketing-Site oder Showcase
  • Erstellen von Dokumentationsseiten mit interaktiven Elementen
  • Deployment auf GitHub Pages, Netlify oder einem anderen statischen Host
  • Benötigen Dark/Light-Theme-Umschaltung, Scroll-Animationen, Tooltips
  • Möchte ein poliertes Design ohne React/Vue/Build-Tools

NICHT verwenden:

  • Komplexe Web-Apps mit State-Management (Framework verwenden)
  • Serverseitig gerenderte Seiten (nur statisch)
  • Interne Admin-Dashboards (überdimensioniert)

Kurzreferenz

KomponenteDateiWichtige Klassen
Design-Tokensdesign-system/design-system.css:root-Variablen, --accent-*, --gradient-*
Navbarcomponents-reference.html.navbar, .nav-links, .lang-toggle
Herocomponents-reference.html.hero, .hero-title, .gradient-text, .hero-stats
Funktionskartencomponents-reference.html.feature-grid, .feature-card, .reveal
Code-Blöckecomponents-reference.html.code-block, .code-header, .code-copy
Tooltipscomponents-reference.html.tooltip-trigger, [data-tooltip]
Tabscomponents-reference.html.tab-list, .tab-btn, .tab-panel
Theme-Umschaltungdesign-system.css + app-template.js[data-theme], .icon-btn[data-toggle="theme"]
Sprach-Buttonsdesign-system.css.lang-toggle, .lang-btn[data-lang]
Scroll-Revealapp-template.js.reveal → .visible via IntersectionObserver
i18napp-template.js[data-i18n] + Übersetzungs-Dictionary

Designsystem

design-system.css liefert den vollständigen Tokensatz für beide Themes. Passe diese für Deine Marke an; lies die Datei für den Rest.

Lies design-system/design-system.css für die gepflegten Dark/Light-Tokens; passe sie an die gewünschte Marke an, anstatt hier eine zweite Tokenliste zu führen.

Dateien

DateiZweck
design-system/design-system.cssVollständiges CSS: Tokens, Navbar, Hero, Karten, Code-Blöcke, Tooltips, Tabs, Footer, responsiv
design-system/app-template.jsJS: Scroll-Reveal, Navbar-Scroll, Code-Kopieren, Tabs, Theme-Umschaltung, mobiles Menü, i18n
design-system/components-reference.htmlJede Komponente mit Copy-Paste-HTML-Snippets
templates/landing-template.htmlVollständige Startvorlage – Wireframe mit allen Sektionen

Tooltip-Muster

Tooltips funktionieren auf Desktop (Hover) und Mobil/Touch (Tippen zum Umschalten). Erfordert app-template.js für Touch-Unterstützung.

<!-- Öffnet nach oben (Standard) -->
<span class="tooltip-trigger" data-tooltip="Hilfreiche Erklärung hier">
    Über mich fahren
</span>

<!-- Öffnet nach unten (für Trigger nahe der Seitenoberseite) -->
<span class="tooltip-trigger tooltip-bottom" data-tooltip="Erklärung">
    Über mich fahren
</span>

<!-- Breite Variante für längere Texte (umbrechen auf Mobilgeräten) -->
<span class="tooltip-trigger tooltip-wide" data-tooltip="Längere mehrzeilige Erklärung...">
    Über mich fahren
</span>

Desktop: CSS :hover zeigt Tooltip. Mobil/Tablet: JS fügt Tap-to-Toggle mit Outside-Click-to-Close hinzu. Tastatur: Tab zum Fokussieren, Enter/Leertaste zum Umschalten, Escape zum Schließen.

Der Touch- und Tastaturpfad funktioniert durch Umschalten von .tooltip-active auf dem Trigger. Handgeschriebenes Tooltip-CSS muss .tooltip-trigger:hover::after und .tooltip-trigger.tooltip-active::after gemeinsam stylen, sonst bewirkt das Tippen nichts – lies Abschnitt 10 (Tooltips) in design-system/design-system.css, bevor Du eigene schreibst.

Stapeln (Stacking): Tooltips entkommen ihrem Container über z-index:10 bei .feature-card:hover, .code-block:hover und .callout:hover. Behalte diese Regeln und schneide abgerundete Ecken mit border-radius auf dem Kindelement (wie .feature-card::before es tut) – overflow:hidden auf dem Container schneidet das Tooltip ab, und kein z-index kann es retten.

Build-Workflow

  1. Kopiere design-system.css, app-template.js und templates/landing-template.html (umbenannt in index.html) in Dein Projekt – alle drei nebeneinander, da die Vorlage sie über den reinen Dateinamen verlinkt
  2. Füge Sektionen aus components-reference.html (Funktionen, Code-Blöcke, Tabs, Callouts, Footer) in das Wireframe ein
  3. Passe Tokens in :root an (Farben, Schriftarten, Verläufe)
  4. Füge Inhalte ins HTML ein, verkabel data-i18n-Schlüssel für Mehrsprachigkeit
  5. Teste lokal – öffne index.html im Browser und prüfe jede Zeile der häufigen Fehler unten; fertig, wenn jede Zeile in Ordnung ist
  6. Liefere die verifizierten Dateien aus. Nur auf Anfrage deployen, mit dem vereinbarten Host und Repository-Workflow.

Deployment auf GitHub Pages

Wenn eine Veröffentlichung angefordert wird, überprüfe das bestehende Repository und die Pages-Konfiguration, bereite die geprüften Dateien vor und folge dessen Deployment-Workflow. Erstelle ein öffentliches Repository oder ändere die Sichtbarkeit nur mit Genehmigung. Stage die benannten Ausgabedateien, ohne nicht zusammenhängende Arbeit zu beeinträchtigen. Überprüfe die bereitgestellte Revision und die Live-Inhalte, bevor Du eine öffentliche URL meldest; HTTP 200 allein ist kein visueller Nachweis.

Häufige Fehler

FehlerLösung
Kein Meta-Viewport<meta name="viewport" content="width=device-width, initial-scale=1.0"> hinzufügen
Fehlendes [data-theme] auf <html><html data-theme="dark"> für Standard-Theme setzen
Reveal-Elemente unsichtbarStelle sicher, dass app-template.js geladen ist und .reveal eine passende .visible-Logik hat
Reveal innerhalb eines versteckten Tab-PanelsTab-Umschaltung enthüllt automatisch; oder entferne .reveal aus Tab-Inhalten
Tooltips oben abgeschnittenVerwende .tooltip-bottom-Variante für Trigger nahe der Ansichts-Oberkante
Theme-Flackern beim LadenInline <script> im <head>, das localStorage.getItem('lp-theme') vor dem Rendern in data-theme einliest – bereits in templates/landing-template.html
Kein-JS-Inhalt unsichtbarclass="no-js" auf <html> + .no-js .reveal { opacity:1 } Fallback
Code-Kopieren funktioniert nichtPrüfe, ob der .code-copy-Button existiert und JS geladen ist
Flackern von unstyledem ContentSetze das <link> für die Schriftart im <head> vor das Stylesheet
Fehlende Fokus-StileAlle interaktiven Elemente haben ein integriertes :focus-visible-Outline

Barrierefreiheit

Das Designsystem beinhaltet:

  • :focus-visible-Outlines auf allen interaktiven Elementen (Tastaturnavigation)
  • prefers-reduced-motion Media Query (deaktiviert Animationen)
  • .no-js Fallback (Inhalte ohne JavaScript sichtbar)
  • ARIA-Labels auf symboltastigen Buttons
  • Semantische HTML-Struktur (korrekte Überschriftenhierarchie)
  • Theme-Kontrast-Tokens; überprüfe den Kontrast nach individuellem Anpassen, bevor Du WCAG-Konformität behauptest

Verwandte Skills