docs/feat: Spec 8.1/8.2 präzisiert; DSGVO-Hinweis in der Beschreibung von lit/divi-fonts-upload

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Jan-Niclas Loosen
2026-10-19 18:28:36 +02:00
co-authored by Claude Sonnet 5.5
parent 15cffedb9f
commit f2aeb59d02
2 changed files with 4 additions and 3 deletions
@@ -179,13 +179,13 @@ Jedes Tool nimmt **mehrere Einträge** eines Bereichs je Aufruf (ein Snapshot, e
### 8.1 `lit/divi-theme-options-get` / `lit/divi-theme-options-update`
- Whitelist (G3 a): Schriften (`heading_font`, `body_font`, `primary_nav_font`, `secondary_nav_font`, `heading_font_weight`, `body_font_weight`), Größen (`body_font_size`, `tablet_…`, `phone_…`, `body_header_size`, `tablet_header_font_size`, `phone_header_font_size`, `body_font_height`, `body_header_height`, `body_header_spacing`, `body_header_style`), Layout (`content_width`, `gutter_width`, `section_padding`, `row_padding`).
- Die fünf Farben stehen in `get` (lesend), geschrieben werden sie nur über `lit/divi-colors-set` (eine Quelle, Snapshot `colors`) (A8).
- Die fünf Hauptfarben listet `get` nicht; es verweist für sie nur auf `lit/divi-colors-set` (eine Quelle, Snapshot `colors`) (A8).
- `get` liefert je Feld Typ, Beschreibung, aktuellen Wert und Divi-Standard; `update` bereinigt mit Divis Customizer-Sanitize-Callbacks (Katalog-Adapter), schreibt mit `et_update_option()` und leert die Caches wie der Customizer (`remove_static_resources`, `et_pb_force_regenerate_templates`).
- `body_header_style` nimmt genau einen Wert (`italic`, `uppercase` oder `underline`); Divis Sanitizer lehnt Kombinationen ab. `null` setzt einen Schlüssel auf den Divi-Standard zurück (`et_delete_option`); `'none'` und `false` werden abgelehnt.
### 8.2 Schriften
- Schriftnamen (Theme-Optionen, Presets, Schrift-Variablen) werden gegen Divis Google-Fonts-Liste, hochgeladene Schriften (`et_uploaded_fonts`) und Web-Safe-Schriften geprüft; Unbekanntes → Fehler mit ähnlichen Namen.
- Schriftnamen werden für Theme-Optionen und Schrift-Variablen geprüft (Preset- und Modul-Schriftattribute folgen in 4e), und zwar gegen Divis Google-Fonts-Liste, hochgeladene Schriften (`et_uploaded_fonts`) und Web-Safe-Schriften; Unbekanntes → Fehler mit ähnlichen Namen.
- **`lit/divi-fonts-upload`** (G10 b): `name`, `files` (`{ "woff2": "<URL>", "woff": …, "ttf": …, "otf": … }`), `weights` (`all` oder Liste), `generic_family`. Laden mit `wp_safe_remote_get` (Größenlimit wie Medien, Grenze je Datei 5 MB (A9)), Dateityp über Inhalt prüfen (Magic Bytes), Installation im Prozess über `FontsUtility::font_add()` mit Temp-Dateien (`action: wp_handle_upload_rest`, wie Divis KI-Pfad `install_to_custom_fonts()`); Divi legt Datei und `et_uploaded_fonts`-Eintrag selbst an, ein Mirror `font-install` sichert die Aufrufkonvention. Formate: `woff2`, `woff`, `ttf`, `otf`. Namensregeln wie Divi (Sonderzeichen, Länge, kein Google-/vorhandener Name).
- Keine Snapshots für Schriften: ein Upload legt nur neu an, überschreibt nie (A2). Probelauf + `confirm` gelten trotzdem.
- DSGVO: lokales Laden der Google-Fonts bleibt Theme-Einstellung; Tool-Beschreibung weist auf hochgeladene Schriften als datensparsame Variante hin.