per user-request einen branch der main-content UND rewrite-content trägt — saubere separierung statt symlink/merge-conflict. struktur: - slides/<course>/ → main-content restored, eigene assets (kein new-demo-leak) - slides/<course>-2026/ → rewrite-content, eigene assets (komplett kopiert + new demos) Makefile: COURSES += 223015b-2026 223015c-2026 dhbw-2026 mit eigenen NAME/KAPITEL/DEPLOY/KLAUSUR-konfig. Klausur für b+c=1, dhbw=leer. Deploy-paths /hdm/223015b-2026 etc. make build durchlaufen für alle 6 decks, 0 fehler. dedup: 223015c+dhbw assets identisch in beiden ordnern (kein neu-demos auf b ergänzt). 223015b 86 → 120 files in -2026 (= +34 neue eroeffner/usb-c-drei-achsen/container-vs-codec/etc).
189 lines
5.6 KiB
HTML
189 lines
5.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Was wir in 90 Minuten gelernt haben</title>
|
|
<style>
|
|
:root {
|
|
--dark: #1a1a2e;
|
|
--muted: #6b7280;
|
|
--soft: #f8fafc;
|
|
--border: #cbd5e1;
|
|
--hl: #d63384;
|
|
--left: #d63384;
|
|
--right: #0891b2;
|
|
--bytes: #0891b2;
|
|
}
|
|
html, body { margin: 0; padding: 0; background: #fff; font-family: system-ui, -apple-system, sans-serif; color: var(--dark); }
|
|
body { padding: 30px 40px; }
|
|
h1 { text-align: center; margin: 0 0 6px; font-size: 1.75rem; }
|
|
.sub { text-align: center; color: var(--muted); margin-bottom: 28px; font-size: 1.05rem; }
|
|
.sub strong { color: var(--dark); }
|
|
|
|
.recap {
|
|
display: grid;
|
|
grid-template-columns: 160px 1fr 200px 1fr 160px;
|
|
gap: 10px;
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
align-items: center;
|
|
}
|
|
|
|
.station {
|
|
border: 2px solid var(--border);
|
|
border-radius: 10px;
|
|
padding: 18px 12px;
|
|
background: #fff;
|
|
text-align: center;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
.station.bytes { border-color: var(--bytes); background: #0f0f23; color: #fff; }
|
|
.station-tag {
|
|
font-size: 0.7rem;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.12em;
|
|
color: var(--muted);
|
|
}
|
|
.station.bytes .station-tag { color: #94a3b8; }
|
|
.station-name { font-size: 1.3rem; font-weight: 700; }
|
|
.station.bytes .station-name { color: #67e8f9; }
|
|
.station-detail { font-size: 0.78rem; color: var(--muted); line-height: 1.35; }
|
|
.station.bytes .station-detail { color: #94a3b8; font-family: ui-monospace, monospace; font-size: 0.76rem; line-height: 1.35; }
|
|
|
|
.strang {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
padding: 0 6px;
|
|
}
|
|
.strang-arrow { text-align: center; }
|
|
.strang-arrow svg { width: 100%; height: 18px; }
|
|
.strang-title {
|
|
font-size: 0.92rem;
|
|
font-weight: 700;
|
|
text-align: center;
|
|
line-height: 1.3;
|
|
}
|
|
.strang.left .strang-title { color: var(--left); }
|
|
.strang.right .strang-title { color: var(--right); }
|
|
.strang-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 3px;
|
|
list-style: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
background: var(--soft);
|
|
border: 1px solid var(--border);
|
|
border-radius: 8px;
|
|
padding: 8px 12px;
|
|
}
|
|
.strang-list li {
|
|
font-size: 0.82rem;
|
|
color: var(--dark);
|
|
padding-left: 12px;
|
|
position: relative;
|
|
line-height: 1.4;
|
|
}
|
|
.strang-list li::before {
|
|
content: "·";
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
font-weight: 700;
|
|
}
|
|
.strang.left .strang-list li::before { color: var(--left); }
|
|
.strang.right .strang-list li::before { color: var(--right); }
|
|
|
|
.verdict {
|
|
margin-top: 22px;
|
|
max-width: 1200px;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
text-align: center;
|
|
border: 2px solid var(--hl);
|
|
border-radius: 12px;
|
|
padding: 14px 22px;
|
|
}
|
|
.verdict-q { font-size: 1.1rem; font-weight: 700; color: var(--hl); }
|
|
.verdict-a { font-size: 0.95rem; color: var(--dark); margin-top: 4px; }
|
|
.verdict-a strong { color: var(--hl); }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>Was wir in 90 Minuten gelernt haben</h1>
|
|
<div class="sub">Beide Wege gehen durch <strong>dieselbe Mitte</strong>. Du kennst jetzt alle Stationen.</div>
|
|
|
|
<div class="recap">
|
|
|
|
<div class="station">
|
|
<div class="station-tag">Quelle</div>
|
|
<div class="station-name">Welt</div>
|
|
<div class="station-detail">Schallwelle<br>Lichtwelle<br>kontinuierlich · analog</div>
|
|
</div>
|
|
|
|
<div class="strang left">
|
|
<div class="strang-arrow">
|
|
<svg viewBox="0 0 200 18" preserveAspectRatio="none">
|
|
<line x1="6" y1="9" x2="180" y2="9" stroke="#d63384" stroke-width="2"/>
|
|
<path d="M174,3 L188,9 L174,15" stroke="#d63384" stroke-width="2" fill="none"/>
|
|
</svg>
|
|
</div>
|
|
<div class="strang-title">Welt → Byte</div>
|
|
<ul class="strang-list">
|
|
<li>Sampling-Rate</li>
|
|
<li>Bittiefe · Quantisierung</li>
|
|
<li>Datenrate-Formel</li>
|
|
<li>Nyquist · 2·f<sub>max</sub></li>
|
|
<li>Aliasing & Moiré</li>
|
|
<li>44,1 kHz = 2·20 kHz + Marge</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="station bytes">
|
|
<div class="station-tag">Mitte</div>
|
|
<div class="station-name">Datei</div>
|
|
<div class="station-detail">
|
|
Byte-Strom<br>
|
|
89 50 4E 47<br>
|
|
nichts als Zahlen
|
|
</div>
|
|
</div>
|
|
|
|
<div class="strang right">
|
|
<div class="strang-arrow">
|
|
<svg viewBox="0 0 200 18" preserveAspectRatio="none">
|
|
<line x1="6" y1="9" x2="180" y2="9" stroke="#0891b2" stroke-width="2"/>
|
|
<path d="M174,3 L188,9 L174,15" stroke="#0891b2" stroke-width="2" fill="none"/>
|
|
</svg>
|
|
</div>
|
|
<div class="strang-title">Byte → Bedeutung</div>
|
|
<ul class="strang-list">
|
|
<li>Bit · Byte · Hex</li>
|
|
<li>8 Bit = 256 Zustände</li>
|
|
<li>ASCII · UTF-8</li>
|
|
<li>Magic Number</li>
|
|
<li>KB vs KiB</li>
|
|
<li>Hex im Alltag (CSS, MAC)</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="station">
|
|
<div class="station-tag">Ziel</div>
|
|
<div class="station-name">Mensch</div>
|
|
<div class="station-detail">Text · Bild · Klang<br>Bedeutung<br>verstehen</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="verdict">
|
|
<div class="verdict-q">Eine Datei ist kein Mysterium. Es ist eine <strong>Reihe von Zahlen</strong> mit zwei Geschichten dran.</div>
|
|
<div class="verdict-a">Eine Geschichte erzählt, <strong>woher</strong> die Zahlen kommen. Die andere, <strong>was</strong> sie bedeuten. Beide kennst du jetzt.</div>
|
|
</div>
|
|
</body>
|
|
</html>
|