Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)
Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
388 lines
16 KiB
Markdown
388 lines
16 KiB
Markdown
---
|
||
name: pptx-infrago
|
||
description: >
|
||
Erstellt PowerPoint-Präsentationen (.pptx) im DB InfraGO Corporate Design mit Python.
|
||
Nutzt den offiziellen DB InfraGO Folienmaster (31 Layouts) und ein Helper-Modul.
|
||
Nutze diesen Skill wenn der User eine PowerPoint-Datei, .pptx, Foliensatz oder Vortrag
|
||
als PowerPoint-Datei (nicht HTML) erstellen möchte.
|
||
Keywords: PowerPoint, PPTX, Folien, Foliensatz, Vortrag, Folienmaster, python-pptx, Master.
|
||
compatibility: >
|
||
Benötigt Python 3.10+ mit python-pptx (>=1.0). DB-Rechner empfohlen für DB-Schriften
|
||
(DB Neo Office Head / DB Neo Office). Kein Internet nötig — Vorlage und Bilder liegen
|
||
im Skill.
|
||
metadata:
|
||
version: "1.3.0"
|
||
author: "Uwe Sülter"
|
||
theme: "DB InfraGO Folienmaster (offiziell)"
|
||
template: "InfraGo_master_vorlage.pptx"
|
||
---
|
||
|
||
# PowerPoint-Präsentationen im DB InfraGO Folienmaster
|
||
|
||
Self-contained Skill für `.pptx`-Dateien. Die offizielle Vorlage `InfraGo_master_vorlage.pptx`
|
||
und das Helper-Modul `db_infrago_pptx.py` liegen direkt im Skill-Ordner unter `assets/`.
|
||
|
||
**Grundprinzip:** Der Skill schreibt nicht selbst Folien-Geometrie, sondern nutzt die 31
|
||
fertigen Layouts des offiziellen Folienmasters. Pro Layout gibt es eine Funktion im
|
||
Helper-Modul. Logo, Footer-Slot, Foliennummer und Farben werden vom Master geerbt —
|
||
Python befüllt nur die Platzhalter (Footer und Foliennummer werden technisch aus dem
|
||
Layout in die Slide geklont, weil python-pptx das nicht von selbst tut).
|
||
|
||
## Ablauf
|
||
|
||
### Schritt 1: Infos sammeln
|
||
|
||
ALLE 6 Punkte MÜSSEN geklärt sein bevor es weitergeht. Auch wenn das Thema offensichtlich
|
||
scheint — Zielgruppe und Umfang IMMER nachfragen, NIEMALS selbst annehmen.
|
||
|
||
**Name ermitteln (Fallback-Kette):**
|
||
1. Steerings/Kontext prüfen — steht der Name schon im geladenen Kontext (z.B. kiro-umgebung.md)?
|
||
2. `git config user.name` ausführen
|
||
3. Wenn beides fehlschlägt: User fragen
|
||
|
||
1. **Thema** — Worum geht es?
|
||
2. **Zielgruppe** — Für wen? (Devs, POs, Management, Fachbereich?)
|
||
3. **Umfang** — Wie viele Folien / wie lang?
|
||
4. **Footer** — Default: "DB InfraGO AG | [Name] | [Team] | [Jahr]"
|
||
5. **Ablageort** — Wo soll die `.pptx`-Datei hin?
|
||
6. **Klassifizierung** — Welche Vertraulichkeitsstufe? Erlaubte Werte:
|
||
- `"DB Offen / DB Open"` — für öffentlich teilbare Inhalte
|
||
- `"DB Intern / DB internal"` — für konzerninterne Inhalte (häufigster Fall)
|
||
- `"DB Vertraulich / DB confidential"` — für vertrauliche Inhalte
|
||
- `""` (leer) — keine Klassifizierung anzeigen
|
||
|
||
**WICHTIG:** Dieser Skill darf NUR für die Stufen "DB Offen", "DB Intern" und
|
||
"DB Vertraulich" verwendet werden. Für höhere Stufen (z.B. "DB Streng Vertraulich")
|
||
ist die automatische Erstellung von Präsentationen NICHT zulässig — den User darauf
|
||
hinweisen und ablehnen.
|
||
|
||
Nachfrage-Template — IMMER komplett zeigen, KEINE Felder weglassen:
|
||
```
|
||
Bevor ich loslege, brauche ich noch ein paar Infos:
|
||
|
||
- **Thema:** [fehlt/vorhanden]
|
||
- **Zielgruppe:** [fehlt/vorhanden]
|
||
- **Umfang:** [fehlt/vorhanden]
|
||
- **Footer:** DB InfraGO AG | [git user.name] | [Team?] | [Jahr]
|
||
- **Ablageort:** [fehlt/vorhanden]
|
||
- **Klassifizierung:** [fehlt] — Erlaubt: "DB Offen / DB Open", "DB Intern / DB internal",
|
||
"DB Vertraulich / DB confidential", oder leer (keine Anzeige).
|
||
⚠️ Dieser Skill darf nur für DB Offen, DB Intern und DB Vertraulich genutzt werden.
|
||
|
||
Optional:
|
||
- Hintergrundbild für die Titelfolie? (Ich schlage selbst ein passendes Bild aus den
|
||
10 mitgelieferten Bildern vor — basierend auf dem Thema. Du kannst das Vorgeschlagene
|
||
bestätigen, ein anderes wählen oder einen eigenen Pfad angeben.)
|
||
- Bestimmte Inhalte die rein müssen? (Tabellen, Zitate, Statements, Bild-Folien?)
|
||
```
|
||
|
||
WICHTIG: NIEMALS "Laut Skill muss ich..." oder "Der Skill verlangt..." sagen. Natürlich
|
||
kommunizieren.
|
||
|
||
### Schritt 2: Hintergrundbild für Titelfolie auswählen
|
||
|
||
Ohne dass der User explizit ein Bild nennt: Schau ins Thema und schlage GENAU EIN Bild
|
||
aus `BACKGROUND_IMAGES` vor (siehe `assets/db_infrago_pptx.py` oder
|
||
[references/asset-katalog.md](references/asset-katalog.md)). Sag dem User welches Bild und
|
||
warum.
|
||
|
||
Beispielzuordnungen:
|
||
- Architektur, Datenflüsse, Migration → `datenstroeme`
|
||
- Innovation, neue Konzepte, Ideen → `gluehbirne`
|
||
- Strategie, Vision, Digitalisierung → `weltkugel` oder `digital_transformation`
|
||
- Infrastruktur, Bahnbetrieb, Wartung → `gleisarbeiter`
|
||
- Performance, Geschwindigkeit, Go-Live → `ice_bahnsteig`
|
||
- Teamwork, Onboarding, Integration → `puzzle`
|
||
- Demos, Abnahme, Qualitätssicherung → `laptop_checkmark`
|
||
- Daten, Code, Netzwerk → `binaercode`
|
||
- Neutral / kein klares Thema → `ice_line` (ICE-Silhouette mit Sand→Türkis Gradient)
|
||
|
||
### Schritt 3: Gliederung vorschlagen
|
||
|
||
Folien-Struktur als Markdown-Liste vorschlagen, jeweils mit dem Layout-Funktionsnamen
|
||
in Klammern. Beispiel:
|
||
|
||
```
|
||
1. Titelfolie (add_titel_bild_schwarz mit "datenstroeme")
|
||
2. Agenda (add_inhaltsverzeichnis_weiss)
|
||
3. Ausgangslage (add_titel_und_inhalt)
|
||
4. Lösung (add_titel_und_2_inhalte)
|
||
5. Beispiel (add_text_und_bild_links)
|
||
6. Statement (add_statement_rot)
|
||
7. Ausblick (add_titel_und_inhalt)
|
||
8. Schluss (add_ende_bild mit "ice_bahnsteig")
|
||
```
|
||
|
||
Auf Bestätigung warten, BEVOR Code geschrieben wird.
|
||
|
||
### Schritt 4: Python-Skript generieren
|
||
|
||
**Pfadberechnung:** Das Helper-Modul `db_infrago_pptx.py` und die Vorlage liegen im
|
||
Skill-Ordner. Python kann daraus importieren wenn der Skill-Ordner im `sys.path` ist
|
||
oder das Modul kopiert wird.
|
||
|
||
**Empfohlener Ansatz:** Im generierten Skript am Anfang den Skill-Ordner zum `sys.path`
|
||
hinzufügen — dann kein Kopieren, immer auf der aktuellen Helper-Version. `SKILL_DIR`
|
||
zeigt auf den `assets/`-Ordner deiner Skill-Installation:
|
||
|
||
- Windows (user-level): `C:\Users\<dein-username>\.kiro\skills\pptx-infrago\assets`
|
||
- Windows (workspace): `<projekt>\.kiro\skills\pptx-infrago\assets`
|
||
- macOS / Linux (user-level): `~/.kiro/skills/pptx-infrago/assets`
|
||
- macOS / Linux (workspace): `<projekt>/.kiro/skills/pptx-infrago/assets`
|
||
|
||
```python
|
||
# -*- coding: utf-8 -*-
|
||
import sys
|
||
from pathlib import Path
|
||
|
||
# Skill-Ordner zum sys.path hinzufügen — Pfad an deine Installation anpassen
|
||
SKILL_DIR = Path.home() / ".kiro" / "skills" / "pptx-infrago" / "assets"
|
||
sys.path.insert(0, str(SKILL_DIR))
|
||
|
||
from db_infrago_pptx import (
|
||
open_deck, save, add_notes, background_image_path,
|
||
add_titel_bild_schwarz, add_inhaltsverzeichnis_weiss,
|
||
add_titel_und_inhalt, add_titel_und_2_inhalte,
|
||
add_text_und_bild_links, add_statement_rot, add_ende_bild,
|
||
)
|
||
|
||
FOOTER = "DB InfraGO AG | Max Mustermann | Team | 2026"
|
||
KLASSIFIZIERUNG = "DB Intern / DB internal" # oder "" wenn keine Anzeige gewünscht
|
||
|
||
prs = open_deck()
|
||
|
||
# Folie 1: Titel mit Hintergrundbild
|
||
slide = add_titel_bild_schwarz(
|
||
prs,
|
||
titel="Mein Thema",
|
||
untertitel="Untertitel der Präsentation",
|
||
bild=background_image_path("datenstroeme"),
|
||
kategorie="Strategie",
|
||
footer=FOOTER,
|
||
klassifizierung=KLASSIFIZIERUNG,
|
||
)
|
||
add_notes(slide, "Begrüßung, Vorstellung des Themas, Motivation.")
|
||
|
||
# Folie 2: Agenda
|
||
add_inhaltsverzeichnis_weiss(
|
||
prs,
|
||
titel="Agenda",
|
||
eintraege=["Ausgangslage", "Lösung", "Beispiel", "Statement", "Ausblick"],
|
||
footer=FOOTER,
|
||
klassifizierung=KLASSIFIZIERUNG,
|
||
)
|
||
|
||
# … weitere Folien …
|
||
|
||
# Folie n: Schluss
|
||
add_ende_bild(prs, titel="Vielen Dank.", bild=background_image_path("ice_bahnsteig"))
|
||
|
||
out = save(prs, r"C:\BA\projekt\folien.pptx")
|
||
print(f"Datei erzeugt: {out}")
|
||
```
|
||
|
||
**Dateiname:** `YYYY-MM-DD_thema-kebab-case.py` für das Skript,
|
||
`YYYY-MM-DD_thema-kebab-case.pptx` als Output.
|
||
|
||
**Speaker Notes:** Für jeden Inhalts-Slide Speaker-Notes via `add_notes(slide, "...")`
|
||
schreiben. Notes enthalten Stichpunkte für den Vortragenden — Details die nicht auf den
|
||
Slide passen, Erklärungen, Überleitung zur nächsten Folie.
|
||
|
||
**Schreibstrategie:**
|
||
- fsWrite für Header + Imports + erste 1–2 Folien (max ~50 Zeilen)
|
||
- fsAppend in Blöcken à max 40 Zeilen
|
||
- Letzter fsAppend: Schlussfolie + `save()`-Aufruf
|
||
- Anzahl der Blöcke vorher abschätzen
|
||
- NIEMALS die Datei komplett neu schreiben weil ein Append fehlschlug — gezielt mit
|
||
strReplace patchen
|
||
|
||
### Schritt 5: Skript ausführen und PPTX öffnen — IN DERSELBEN ANTWORT
|
||
|
||
Direkt nach dem letzten fsAppend (mit `save()`) — OHNE vorher "fertig" zu sagen:
|
||
|
||
1. **Skript ausführen:** `python C:\BA\{Ablageort}\{Dateiname}.py`
|
||
2. **Datei öffnen:** `Invoke-Item "C:\BA\{Ablageort}\{Dateiname}.pptx"` — einfach machen,
|
||
nicht nachfragen.
|
||
3. **Kurzer Hinweis:** Dem User mitteilen, was generiert wurde und wie er die Datei
|
||
nachbearbeiten kann (PowerPoint öffnet automatisch).
|
||
|
||
## Slide-Funktionen Übersicht
|
||
|
||
Volle API-Doku siehe [references/slide-typen.md](references/slide-typen.md). Mapping
|
||
Layout-Index → Funktion siehe [references/layout-katalog.md](references/layout-katalog.md).
|
||
|
||
| Anlass | Funktion |
|
||
|---|---|
|
||
| Titel mit Bild | `add_titel_bild_schwarz` / `_weiss` |
|
||
| Titel im Rahmen | `add_titel_rahmen` |
|
||
| Agenda / Inhaltsverzeichnis | `add_inhaltsverzeichnis_weiss` / `_rot` / `_bild_*` |
|
||
| Kapiteltrenner | `add_kapiteltrenner_weiss` / `_bild_*` |
|
||
| Standard-Inhaltsfolie | `add_titel_und_inhalt` |
|
||
| Zwei-Spalten-Inhalt | `add_titel_und_2_inhalte` |
|
||
| Text + Bild | `add_text_und_bild_links` / `_rechts` |
|
||
| Vollbild mit Titelzeile | `add_bild_mit_titel_schwarz` / `_weiss` |
|
||
| Nur Titel (für eigenes Layout) | `add_nur_titel` / `_grau` |
|
||
| Komplett leer | `add_leer` |
|
||
| Aussage groß | `add_statement_rot` / `_weiss` |
|
||
| Zitat | `add_zitat_rot` / `_weiss` |
|
||
| Schlussfolie Bild | `add_ende_bild` |
|
||
| Schlussfolie Rot | `add_ende_rot` |
|
||
| Schlussfolie Logo | `add_ende_logo` |
|
||
| Bild-Agenda | `add_bild_agenda` |
|
||
| **Tabelle (Türkis-Header)** | `add_tabelle` |
|
||
| **Daten und Fakten (Kennzahl groß)** | `add_daten_und_fakten` |
|
||
| **Zeitstrahl (n Stationen)** | `add_zeitstrahl` |
|
||
| **Prozessablauf (n Schritte)** | `add_prozessablauf` |
|
||
| **Piktogramm einfügen** | `add_pictogram` (86 Icons aus DB-Master) |
|
||
|
||
## Kreative Folien — wenn die Templates nicht reichen
|
||
|
||
Die 31 Layouts decken die häufigsten Fälle ab, sind aber ausdrücklich KEIN Korsett.
|
||
Für Diagramme, eigene Skizzen, freie Visualisierungen, Roadmaps, BPMN-Skizzen,
|
||
Architektur-Bilder usw. gibt es zwei Layouts, die genau dafür gemacht sind:
|
||
|
||
| Funktion | Was du bekommst | Wann |
|
||
|---|---|---|
|
||
| `add_nur_titel(prs, titel, footer)` | Folientitel oben + komplett freier Inhaltsbereich | Diagramme mit Titelzeile |
|
||
| `add_nur_titel_grau(prs, titel, footer)` | Wie oben, aber grauer Hintergrund | Visuelle Abgrenzung im Foliensatz |
|
||
| `add_leer(prs, footer)` | Komplett freie Folie (nur Footer-Slot) | Vollbild-Visualisierung, eigene Header-Position |
|
||
|
||
Auf diesen Folien gilt: alles ist erlaubt. Logo, Foliennummer und Footer werden vom
|
||
Master geerbt — du sparst dir nur die starre Bullet-Liste.
|
||
|
||
Typische Erweiterungen mit `python-pptx`:
|
||
|
||
```python
|
||
from pptx.util import Cm, Pt
|
||
from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR
|
||
from pptx.dml.color import RGBColor
|
||
from db_infrago_pptx import add_nur_titel, DB_TURQUOISE_500, DB_RED
|
||
|
||
FOOTER = "DB InfraGO AG | Max Mustermann | Team | 2026"
|
||
|
||
slide = add_nur_titel(prs, "Architektur-Skizze", FOOTER)
|
||
|
||
# Box
|
||
box = slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE,
|
||
Cm(2), Cm(4), Cm(8), Cm(3))
|
||
box.fill.solid(); box.fill.fore_color.rgb = DB_TURQUOISE_500
|
||
box.text_frame.text = "Frontend"
|
||
|
||
# Pfeil zwischen Boxen
|
||
conn = slide.shapes.add_connector(MSO_CONNECTOR.STRAIGHT,
|
||
Cm(10), Cm(5.5), Cm(14), Cm(5.5))
|
||
conn.line.color.rgb = DB_RED
|
||
|
||
# Eigenes Bild
|
||
slide.shapes.add_picture(r"C:\diagramme\flow.png",
|
||
left=Cm(2), top=Cm(8), width=Cm(20))
|
||
|
||
# Freies Textfeld
|
||
tb = slide.shapes.add_textbox(Cm(2), Cm(15), Cm(20), Cm(2))
|
||
tb.text_frame.text = "Hinweis: Skizze, kein finales Design."
|
||
```
|
||
|
||
Mehr Beispiele und Patterns: [references/slide-typen.md](references/slide-typen.md)
|
||
unter „Kreative Folien".
|
||
|
||
**Wichtig bei kreativen Folien:**
|
||
- DB-Farbpalette nutzen (`DB_TURQUOISE_500`, `DB_RED`, `DB_SAND` usw. aus dem Helper)
|
||
- Maße in `Cm()` oder `Emu()` — nicht in Pixeln
|
||
- Folie ist 33.87 × 19.05 cm groß
|
||
- Master-Elemente nicht überdecken (Logo oben rechts, Footer unten)
|
||
|
||
## Hintergrundbilder (10 Stück)
|
||
|
||
Verwendung:
|
||
|
||
```python
|
||
from db_infrago_pptx import background_image_path
|
||
add_titel_bild_weiss(prs, "Titel", bild=background_image_path("datenstroeme"))
|
||
```
|
||
|
||
Verfügbare Keys: `ice_line`, `laptop_checkmark`, `datenstroeme`, `gleisarbeiter`,
|
||
`weltkugel`, `ice_bahnsteig`, `gluehbirne`, `puzzle`, `digital_transformation`,
|
||
`binaercode`. Details in [references/asset-katalog.md](references/asset-katalog.md).
|
||
|
||
User kann auch eigene Bilder per Pfad angeben (statt `background_image_path("...")`
|
||
einfach `r"C:\pfad\zu\bild.jpg"`).
|
||
|
||
## Piktogrammbibliothek (86 SVG-Icons)
|
||
|
||
Aus dem DB InfraGO Master extrahiert — alle als monochrome SVG-Vektoren, die zur
|
||
Laufzeit in jede DB-Farbe eingefärbt werden können (Türkis, Rot, Schwarz, Weiß).
|
||
PowerPoint 2016+ rendert SVGs nativ — die Icons bleiben gestochen scharf bei jeder
|
||
Größe.
|
||
|
||
```python
|
||
from db_infrago_pptx import add_pictogram, list_pictograms, DB_TURQUOISE_500, DB_RED
|
||
from pptx.util import Cm
|
||
|
||
# Auf einer "Nur Titel"-Folie 4 Icons mit Beschriftung platzieren
|
||
slide = add_nur_titel(prs, "Vorteile", footer=FOOTER)
|
||
add_pictogram(slide, "haekchen", Cm(2), Cm(7), Cm(4), color=DB_TURQUOISE_500)
|
||
add_pictogram(slide, "uhr", Cm(9), Cm(7), Cm(4), color=DB_TURQUOISE_500)
|
||
add_pictogram(slide, "datenbank", Cm(16), Cm(7), Cm(4), color=DB_TURQUOISE_500)
|
||
add_pictogram(slide, "puzzleteile", Cm(23), Cm(7), Cm(4), color=DB_TURQUOISE_500)
|
||
|
||
# Verfügbare Keys auflisten
|
||
for key, descr in list_pictograms():
|
||
print(f" {key:30s} {descr}")
|
||
```
|
||
|
||
**Häufige Keys** (sortiert nach Anwendung):
|
||
|
||
- Bestätigung: `haekchen`, `volltreffer`, `pruefliste`, `klemmbrett`
|
||
- Negation: `schliessen`, `verbotsschild`, `nicht_zulaessig`
|
||
- Daten: `datenbank`, `cloud`, `cloudcomputing`, `balkendiagramm`,
|
||
`flussdiagramm`, `verzweigungsdiagramm`, `abwaertstrend-diagramm`
|
||
- Kommunikation: `chat`, `chatblase`, `e-mail`, `kommentar_like`, `kommentar_herz`
|
||
- Zeit: `uhr`, `tageskalender`, `flip-kalender`
|
||
- Aktionen: `wiedergabe`, `aktualisieren`, `herunterladen`, `uebertragen`
|
||
- Pfeile: `pfeil_nach_oben`, `pfeil_nach_unten`, `pfeil_nach_rechts`, `pfeil_kreis`,
|
||
diverse Drehpfeile
|
||
- Sonstiges: `puzzleteile`, `handschlag`, `aktenkoffer`, `lupe`, `informationen`,
|
||
`hilfe`, `fragezeichen`, `ausrufezeichen`, `management`, `vertrag`,
|
||
`gehaltsabrechnung`, `geschichte`, `blockchain`, `computer`, `browserfenster`
|
||
|
||
Vollständige Liste mit `list_pictograms()` oder direkt aus `PICTOGRAMS.keys()`.
|
||
|
||
**Farb-Override** ist optional — ohne `color`-Parameter bleibt das Icon in der
|
||
SVG-Default-Farbe (meist schwarz). Empfehlung für CI-konforme Slides:
|
||
`DB_TURQUOISE_500` als Akzent oder `DB_BLACK` für neutralen Look.
|
||
|
||
## Design-Guide (DB InfraGO)
|
||
|
||
Siehe [references/ci-referenz.md](references/ci-referenz.md). Wichtigste Regeln:
|
||
|
||
- Folienmaster nicht überschreiben — er bringt Logo, Footer-Slot, Foliennummer und
|
||
Farben automatisch mit.
|
||
- Schriften: `DB Neo Office Head` (Überschriften) und `DB Neo Office` (Fließtext) — auf
|
||
DB-Rechnern installiert. Der Helper setzt diese explizit, damit sie nicht über
|
||
System-Defaults wie Calibri ersetzt werden.
|
||
- DB Rot (#EC0016) = Akzentfarbe (Logo, Highlights), NICHT Hauptfarbe.
|
||
- Primärfarben: Türkis (#006E6B / #00A099) + Sand (#FCE3BA).
|
||
- Schriftfarbe: nur Schwarz oder Weiß.
|
||
- Max 5–7 Bullets pro Folie, max 2 Sätze pro Bullet (besser: Stichworte).
|
||
- Eine Kernaussage pro Folie — nicht mehrere Themen mischen.
|
||
- Tabellen: max 5–6 Zeilen sichtbar, sonst aufteilen.
|
||
- Speaker Notes für Details nutzen.
|
||
- Jede Folie muss in 30–60 Sekunden erfassbar sein.
|
||
- 3-Akt-Struktur: Eröffnung → Hauptteil mit Trennern → Abschluss.
|
||
- NIEMALS nur Vorname im Footer — immer "DB InfraGO AG | Vollständiger Name | Team | Jahr".
|
||
|
||
## Voraussetzungen
|
||
|
||
`python-pptx` muss installiert sein:
|
||
|
||
```powershell
|
||
pip install python-pptx
|
||
```
|
||
|
||
## Referenz-Dateien
|
||
|
||
- [references/layout-katalog.md](references/layout-katalog.md) — alle 31 Layouts mit Index, Name, Platzhaltern, Geometrie
|
||
- [references/slide-typen.md](references/slide-typen.md) — Funktions-API mit Code-Beispielen
|
||
- [references/asset-katalog.md](references/asset-katalog.md) — Hintergrundbilder mit Empfehlungen
|
||
- [references/ci-referenz.md](references/ci-referenz.md) — Farben, Schriften, CI-Regeln
|