\babel@toc {ngerman}{}\relax \contentsline {section}{\numberline {1}Portfolio-Seite: Von Null zum Live-Deployment}{3}{section.1}% \contentsline {subsection}{\numberline {1.1}Projektstruktur (Monorepo mit pnpm)}{3}{subsection.1.1}% \contentsline {subsection}{\numberline {1.2}Schritt 1: Monorepo initialisieren}{3}{subsection.1.2}% \contentsline {subsection}{\numberline {1.3}Schritt 2: React + Vite + TypeScript einrichten}{4}{subsection.1.3}% \contentsline {subsection}{\numberline {1.4}Schritt 3: Tailwind CSS einrichten}{4}{subsection.1.4}% \contentsline {subsection}{\numberline {1.5}Schritt 4: Erste App-Komponente}{5}{subsection.1.5}% \contentsline {subsection}{\numberline {1.6}Schritt 5: Git initialisieren}{5}{subsection.1.6}% \contentsline {subsection}{\numberline {1.7}Schritt 6: Gitea-Repository anlegen und pushen}{6}{subsection.1.7}% \contentsline {subsection}{\numberline {1.8}Schritt 7: Dockerfile für Produktion}{6}{subsection.1.8}% \contentsline {subsection}{\numberline {1.9}Schritt 8: .npmrc für Build-Scripts}{7}{subsection.1.9}% \contentsline {subsection}{\numberline {1.10}Schritt 9: CI/CD-Pipeline mit Gitea Actions}{7}{subsection.1.10}% \contentsline {subsection}{\numberline {1.11}Schritt 10: Firewall öffnen und deployen}{8}{subsection.1.11}% \contentsline {subsection}{\numberline {1.12}Aufgetretene Fehler und ihre Lösungen}{8}{subsection.1.12}% \contentsline {subsubsection}{\numberline {1.12.1}Fehler 1: pnpm-workspace.yaml not found}{8}{subsubsection.1.12.1}% \contentsline {subsubsection}{\numberline {1.12.2}Fehler 2: pnpm-lock.yaml not found}{8}{subsubsection.1.12.2}% \contentsline {subsubsection}{\numberline {1.12.3}Fehler 3: ERR\_PNPM\_IGNORED\_BUILDS}{9}{subsubsection.1.12.3}% \contentsline {subsection}{\numberline {1.13}Die Seite erreichen}{9}{subsection.1.13}% \contentsline {subsection}{\numberline {1.14}Vollständiger Code: App.tsx mit Tailwind}{9}{subsection.1.14}% \contentsline {subsection}{\numberline {1.15}Tailwind-Klassen im Überblick}{11}{subsection.1.15}% \contentsline {subsection}{\numberline {1.16}Zusammenfassung}{11}{subsection.1.16}% \contentsline {section}{\numberline {2}Styling mit Tailwind CSS und Urbanist-Schriftart}{11}{section.2}% \contentsline {subsection}{\numberline {2.1}Schriftart Urbanist installieren}{12}{subsection.2.1}% \contentsline {subsection}{\numberline {2.2}Index.css – Das Herzstück des Stylings}{12}{subsection.2.2}% \contentsline {subsubsection}{\numberline {2.2.1}Tailwind Import}{12}{subsubsection.2.2.1}% \contentsline {subsubsection}{\numberline {2.2.2}Schriftart-Definitionen (5 Schnitte)}{12}{subsubsection.2.2.2}% \contentsline {subsubsection}{\numberline {2.2.3}Tailwind Theme}{13}{subsubsection.2.2.3}% \contentsline {subsubsection}{\numberline {2.2.4}Base-Layer (globale Stile)}{14}{subsubsection.2.2.4}% \contentsline {subsubsection}{\numberline {2.2.5}Custom Scrollbar (WebKit)}{14}{subsubsection.2.2.5}% \contentsline {subsubsection}{\numberline {2.2.6}Firefox Scrollbar}{15}{subsubsection.2.2.6}% \contentsline {subsubsection}{\numberline {2.2.7}Hilfsklasse: Scrollbar ausblenden}{15}{subsubsection.2.2.7}% \contentsline {subsection}{\numberline {2.3}App.tsx – Die React-Komponente erklärt}{16}{subsection.2.3}% \contentsline {subsection}{\numberline {2.4}Verwendete Tailwind-Klassen – Cheat Sheet}{17}{subsection.2.4}% \contentsline {subsection}{\numberline {2.5}Scrollbalken-Debugging}{17}{subsection.2.5}% \contentsline {subsection}{\numberline {2.6}Zusammenfassung}{18}{subsection.2.6}% \providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file