# für Commit vormerken
+git commit -m "feat: ..." # Conventional Commits
+git push # hochladen
+git pull --rebase # neueste Änderungen holen
+```
+
+---
+
+# Projekt-Skeleton
+
+```bash
+mkdir mein-projekt && cd mein-projekt
+git init
+npm init -y # erzeugt package.json
+echo "node_modules" > .gitignore
+echo ".env" >> .gitignore
+npm install express
+```
+
+**`package.json` minimal:**
+```json
+{
+ "name": "mein-projekt",
+ "version": "0.1.0",
+ "type": "module",
+ "scripts": {
+ "start": "node index.js",
+ "dev": "node --watch index.js"
+ }
+}
+```
+
+`.env` für Secrets (nie committen!), `.env.example` mit Dummy-Werten committen.
+
---
@@ -238,60 +453,285 @@ git push -u origin main
---
-# HTML Grundlagen
+# Was ist HTML? (1/2)
+
+**H**yper**T**ext **M**arkup **L**anguage
+
+- **Keine** Programmiersprache
+- Am ehesten eine Formattierungssprache
+- Beschreibt **Struktur und Aufbau** einer Webseite
+
+```html
+Das ist ein Absatz.
+
+```
+
+Erfunden 1989 von Tim Berners-Lee. Aktuelle Version: HTML5 (seit 2014).
+
+---
+
+# Was ist HTML? (2/2)
+
+- Mit HTML werden **HTML-Dokumente** beschrieben (`index.html`)
+- Ein HTML-Dokument beschreibt das **Document Object Model (DOM)**
+- Der DOM ist eine **hierarchische Baumstruktur** (Eltern, Kinder, Geschwister)
+ - *parent* nodes / elements
+ - *child* nodes / elements
+ - *sibling* nodes / elements
+
+In HTML sprechen wir von **Elementen**, in JavaScript eher von **Nodes**.
+
+---
+
+# HTML-Anatomie (1/2)
+
+Formattierungssprache mit strenger Syntax:
+
+```
+ ...
+```
+
+- Öffnende und schließende Tags müssen identisch sein
+- Schließendes Tag hat ein `/` nach der Spitzklammer
+
+---
+
+# HTML-Anatomie (2/2)
+
+Wir unterscheiden **umschließende** und **selbst-schließende** Tags.
+
+**Umschließend:**
+- ` ... ` – fett-gedruckter Text (inline)
+- ` ... ` – Hyperlink
+- ` ... ` – sichtbarer Teil eines HTML-Dokuments
+- ` ... ` – Aufklapp-Text / Akkordion
+
+**Selbst-schließend:**
+- `
` – Bild, Vektorgrafik
+- `` – Eingabefeld
+- `` – Metadaten
+
+---
+
+# Darstellungsebene und Metadaten
+
+```html
+
+
+ METADATEN
+
+
+ DARSTELLUNGSEBENE
+
+
+```
+
+Ein HTML-Dokument besteht aus zwei Teilen:
+- ` ... ` – Metadaten für Browser, Suchmaschinen, Social Sharing
+- ` ... ` – darzustellender Inhalt, Text, Formulare
+
+---
+
+# HTML Metadaten
+
+```html
+
+
+ DHBW Stuttgart
+
+
+
+ ...
+
+```
+
+*Webseiten besuchen nicht nur Menschen, sondern auch Suchmaschinen, Bots, Screen-Reader. Metadaten helfen beim "Verstehen" der Inhalte.*
+
+---
+
+# HTML Metadaten – Vertiefung
+
+| Tag | Funktion |
+|-----|----------|
+| `` | Browser-Tab, Suchergebnis-Titel |
+| `` | Zeichenkodierung (Umlaute!) |
+| `` | Mobile Darstellung |
+| `` | Suchergebnis-Snippet (max 160 Zeichen) |
+
+**Open Graph** (Social-Media-Vorschau):
+```html
+
+
+```
+
+→ Wirkt auf Mastodon, LinkedIn, Signal, Slack, MS Teams ...
+
+**SEO:** Google nutzt `` + `` für Ranking + Snippet.
+
+---
+
+# HTML-Tags und Attribute
+
+
+
+```html
+
+ Das ist ein wichtiger Absatz.
+ Das ist ein gewöhnlicher Absatz.
+
+```
+
+| Teil | Bezeichnung |
+|------|-------------|
+| `` | Opening Tag |
+| `class="wichtig"` | Attribut |
+| `Das ist ein wichtiger Absatz.` | Inhalt |
+| `
` | Closing Tag |
+
+---
+
+# HTML-Tags und Attribute (selbst-schließend)
+
+
+
+```html
+Geburtsdatum
+```
+
+| Teil | Bezeichnung |
+|------|-------------|
+| `` | Schließendes `/` im (öffnenden) Tag |
+
+---
+
+# Vollständiges Grundgerüst
+
+
```html
-
- Meine Seite
+ Portfolio von ...
+
+
- Überschrift
- Textabsatz
+ Hallo Welt!
+ Das ist mein erster Absatz.
```
---
-# Semantisches HTML
+# Die wichtigsten Tags
+
+| Tag | Bedeutung |
+|-----|-----------|
+| `` … `` | Überschriften (h1 = größte) |
+| `
` | Absatz (Paragraph) |
+| ` ... ` | Hyperlink |
+| `
` | Bild |
+| `
`, ``, `- ` | Listen |
+| `
` | Container / Box |
+| `
` | Inline-Container |
+| `` | Eingabefeld |
+
+Semantische Tags (``, ``, ``, `
+
+---
+
+# Natives HTML
+
+Was früher mit JavaScript gelöst wurde, kann HTML heute selbst. JS dafür einzusetzen ist heute oft ein **Code Smell**.
+
+| Funktion | HTML-Element |
+|----------|--------------|
+| Aufklapp-Text | `` + `` |
+| Popup / Modal | `