\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 
