Files
guides/templates/Format/IntermediateGuide.md
2026-05-25 19:33:48 +02:00

166 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
```
FORTGESCHRITTEN-GUIDE-STIL (HTML/CSS → PDF via WeasyPrint)
FORMAT
- A4 Hochformat, mehrseitig
- @page { size: A4; margin: 22mm 20mm 20mm 20mm; }
- @page :first { margin: 0; } für Cover
- Footer: Seitenzahl Mitte, Guide-Titel rechts (außer Cover)
UMFANG
- 12-15 Kapitel à ~15 Min Lesezeit
- ~1500 Wörter Fließtext pro Kapitel (gleich wie Anfänger)
- 2-3 Code-Beispiele pro Kapitel (gleich wie Anfänger, 5-15 Zeilen)
- 30-50 Seiten gesamt
- ~3-4h Lesezeit gesamt
EINSTIEGSNIVEAU
- Setzt Anfänger-Guide oder gleichwertiges Vorwissen voraus
- Grundbegriffe werden NICHT mehr erklärt
- Verweist bei Bedarf auf Anfänger-Guide
- Geht direkt in fortgeschrittene Patterns und Production-Tools
UNTERSCHIED ZU ANFÄNGER-GUIDE
- Kapitel-Größe IDENTISCH (1500 Wörter, 2-3 Code-Beispiele, 15 Min)
- Unterschied liegt nur in:
- THEMEN (anspruchsvoller, weniger bekannt)
- VORAUSGESETZTEM WISSEN (Grundlagen werden nicht wiederholt)
- REIFE der Code-Beispiele (Production-nah statt Demo)
- KAPITEL-ANZAHL (12-15 statt 8-12)
KAPITEL-PROGRESSION
- Aufgeteilt in 3 Teile mit eigenen TOC-Sektionen
- Beispiele für PHP:
- Teil 1: OOP-Patterns — Interfaces, Traits, Enums, Attribute
- Teil 2: Funktional & Generators — Closures, Higher-Order, Generators, Generics
- Teil 3: Production-Tools — PDO, HTTP-Clients, Static Analysis, Tests
- Jedes Kapitel ist tiefer als ein Anfänger-Kapitel
- Mehr Edge Cases, mehr "warum genau so"
- Production-Code-Niveau
STRUKTUR
1. Cover: vollflächiger Hintergrund, Hero-Aussage mit "tiefer" oder ähnlichem Tone
2. Inhaltsverzeichnis: 3 Teile, nummeriert, mit Zeit-Markern (15 Min)
3. Kapitel 1-12
4. Ending: Spaced-Repetition-Plan, nächste Schritte, Begleitmaterial
KAPITEL-AUFBAU
1. Kapitel-Head: große Nummer + Titel + Subtitle, Trennlinie
2. Gap-Opener: kursiv eingerahmt, konkretes Praxis-Problem
3. 2-4 H2-Sektionen
4. Pro Sektion: Erklärtext + Code-Beispiel + ggf. Callout
5. Recall-Box am Ende (3 Fragen, anspruchsvoller als im Anfänger)
CODE-BEISPIELE
- Realistischer als im Anfänger-Guide (kein "foo/bar")
- Production-nahe Patterns
- TypeScript/Type-Hints idiomatisch
- Echte Library-Namen (Guzzle, Doctrine, PHPStan, Symfony)
- Mehr Edge Cases zeigen
- Länge bleibt 5-15 Zeilen (wie Anfänger)
ELEMENTE
- Fließtext: justify mit Silbentrennung
- Codeblöcke: dunkler Hintergrund, syntax highlighting
- Inline-Code: heller Hintergrund, Hauptfarbe
- Tabellen: Header farbig (Hauptfarbe-Dunkel)
- Callouts in 3 Varianten: tip (grün), warn (rot), note (Hauptfarbe)
- Recall-Box: dunkler Hintergrund mit Akzentfarbe
TYPOGRAFIE
- Body: 10.5pt Serif (Charter), line-height 1.55
- H1 Kapitel: 22pt Sans-Serif bold, Hauptfarbe-Dunkel
- H2 Sektion: 14pt Sans-Serif bold
- H3 Subsektion: 11pt Sans-Serif bold
- Code: 8.5pt Monospace, line-height 1.5
- Inline-Code: 9pt Monospace
- Recall/Callout-Labels: 8pt uppercase, letter-spacing 1pt
- Cover-H1: 56pt Sans-Serif bold, letter-spacing -2pt
FARBEN (max 3 + Neutrals)
- Hauptfarbe: kräftig, an offizielle Farbe des Themas anlehnen
- Hauptfarbe-Dunkel: dunklere Variante für Headings und Akzente
- Hauptfarbe-Darker: noch dunkler für Cover-Verlauf und Recall-Box
- Hintergrund-Soft: helle Variante der Hauptfarbe
- Code-Hintergrund: #1e2a3a (dunkel)
- Text: #1a1a1a / muted #5a6470 / Linie #d8dde3
- Callout-Farben: grün/rot/Hauptfarbe
INFORMATION-GAP-OPENER (PFLICHT pro Kapitel)
- Kursiv, eingerahmt mit Hauptfarbe-Border
- Konkretes Praxis-Problem als Aufhänger
- Niveau: setzt Anfänger-Wissen voraus
- Beispiele:
- "Du hast drei verschiedene Logger Datei, Datenbank, Sentry..."
- "Du sollst die Zeilen einer 5-GB-Logdatei verarbeiten..."
- "SQL-Injection ist seit 20 Jahren die häufigste Web-Sicherheitslücke..."
RECALL-BOX (PFLICHT pro Kapitel)
- Am Kapitel-Ende
- 3 Fragen, anspruchsvoller als im Anfänger-Guide
- Fragen nach Wann/Warum/Wofür statt Was/Wie
- Code-Snippets in Fragen mit Akzentfarbe hervorgehoben
ENDING (PFLICHT)
- Spaced-Repetition-Plan: 4 Karten (Heute, +3 Tage, +14 Tage, +60 Tage)
- Anspruchsvollere Spacing-Abstände als im Anfänger-Guide
- Aufgaben anspruchsvoller (echtes Projekt aufsetzen)
- "Was als nächstes lernen" mit Spezialisierungs-Vorschlägen Richtung Extended
- Verweis auf alle Begleitmaterialien (OnePager, Cheatsheet, Mini, Anfänger)
CALLOUT-NUTZUNG
- tip (grün): Best Practice, idiomatische Lösung, Library-Empfehlung
- warn (rot): Fallen, häufige Anti-Patterns, Sicherheits-Risiken
- note (Hauptfarbe): Hintergrund-Info, alternative Lösung, Querverweis
CALLOUT-CSS WICHTIG
- .callout-body > b:first-child mit display:block für Label
- NICHT .callout-body b global mit display:block (zerstört Inline-Bold)
- Mehrzeiliger Body-Text in <p style="margin:0;"> wrappen wenn Inline-Bolds drin sind
THEMENSPEZIFISCHE ANPASSUNGEN (vor Generierung wählen)
- Hauptfarbe: offizielle Farbe des Themas
- Logo-Buchstabe(n) oder Kürzel
- Version + Stand-Datum
- 12-15 Kapitel-Titel: fortgeschrittene Patterns, Tools, Production-Aspekte
- Keine Wiederholung der Anfänger-Grundlagen
PFLICHT-ELEMENTE PRO KAPITEL
- 1 Gap-Opener am Anfang
- 2-3 Code-Beispiele (5-15 Zeilen, gleich wie Anfänger)
- Mindestens 1 Callout
- 1 Recall-Box am Ende
VERMEIDEN
- Wiederholung von Grundlagen aus dem Anfänger-Guide
- Einleitungs-Floskeln ("In diesem Kapitel lernen wir...")
- Übersichts-Inhalt (steht im OnePager)
- Reine Referenz-Tabellen (stehen im Cheatsheet)
- Toy-Beispiele wie foo/bar (Production-Code zeigen)
- Themen, die in Anfänger oder Extended besser passen
- page-break mitten in Codeblock oder Callout (page-break-inside: avoid)
- Mehr als 3 Schriftgrößen pro Sektion
- Floats oder absolute positioning (bricht in WeasyPrint)
GENERIERUNG MIT FEEDBACK-LOOP (max 3 Iterationen)
1. HTML schreiben
2. weasyprint file.html file.pdf (Timeout 300s)
3. PDF zu PNGs: alle Seiten konvertieren
4. Schlüsselseiten ansehen: Cover, TOC, Kapitel 1, mittlere Seite, Ending
5. Prüfen:
- Cover randlos und ohne Footer?
- TOC zeigt alle 3 Teile?
- Kapitel beginnen auf neuer Seite?
- Code-Blöcke nicht über Seitenumbruch zerrissen?
- Recall-Boxen vollständig sichtbar?
- Footer mit Seitenzahl korrekt?
- Setzt der Guide spürbar Anfänger-Wissen voraus?
- Sind Code-Beispiele realistisch (kein foo/bar)?
- Inline-Bolds in Callouts korrekt (nicht als Blöcke)?
6. Bei Problemen: fixen, ab Schritt 2 wiederholen
7. Nach max 3 Iterationen ausgeben
INSTALLATION
- pip install weasyprint pdf2image
- apt install poppler-utils
```