From b61f029a3639dcb0fcd0f2689819f4267ec34133 Mon Sep 17 00:00:00 2001 From: DeeCee03 Date: Tue, 20 Oct 2026 15:55:49 +0200 Subject: [PATCH] Regeln: hivegrid-cloud als neue Basis, Redaktionsplan mit Post 7 fertig Co-Authored-By: Claude Opus 5.5 --- .gitignore | 3 + redaktionsplan/Instagram-Redaktionsplan.pdf | Bin 409932 -> 410099 bytes redaktionsplan/bauen.py | 9 ++- rules.md | 66 ++++++++++++++++++-- 4 files changed, 70 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 08b2447..8f9232b 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ redaktionsplan/*.html # Wegwerf-Profil des Browsers beim Bau der Video-Komponenten video/.chrome/ + +# Python-Zwischendateien von serve.py +__pycache__/ diff --git a/redaktionsplan/Instagram-Redaktionsplan.pdf b/redaktionsplan/Instagram-Redaktionsplan.pdf index bab227bc3535f2a05f4af34c1e9390227516b83d..6b6f3d6318f7a36eb4184f1f1ff3c74a7fb2d6a9 100644 GIT binary patch delta 33545 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 delta 33268 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 CMs587 diff --git a/redaktionsplan/bauen.py b/redaktionsplan/bauen.py index 5fae30a..2dd38af 100644 --- a/redaktionsplan/bauen.py +++ b/redaktionsplan/bauen.py @@ -63,6 +63,11 @@ def slots(start: date, anzahl: int, auslassen=frozenset()): # Thema, Format, Ziel. Reihenfolge ist nicht beliebig: erst warum es uns gibt, # dann die Haltung, dann die Funktionen von der täglichen Last nach hinten zu # dem, was Vorwissen braucht. +# E-Mail-Marketing und Zettelwirtschaft sind am 11.09.2026 getauscht worden. +# Die Reihenfolge geht sonst von der taeglichen Last nach hinten zu dem, was +# Vorwissen braucht -- Zettelwirtschaft ist aber der einzige Beitrag ohne +# Produkt dahinter und muss deshalb erst gebaut werden, waehrend E-Mail- +# Marketing eine fertige Oberflaeche zum Zeigen hat. PLAN = [ ("Die Geschichte", "Carousel, 6", "Herkunft. Warum es HiveGrid gibt."), ("Verbinden statt ersetzen", "Einzelbild", "Haltung. Die Kernaussage in einem Satz."), @@ -70,8 +75,8 @@ PLAN = [ ("Projektmanagement", "Carousel", "Der Überblick, den jeder Betrieb vermisst."), ("Team-Chat", "Carousel", "Ein Kanal pro Projekt, Foto rein, Aufgabe raus."), ("Form Builder", "Carousel", "Vom Kontaktformular bis zum Aufmaß."), - ("Zettelwirtschaft", "Carousel", "Wissen ohne Produkt. Wo im Betrieb Zeit verloren geht."), ("E-Mail-Marketing", "Carousel", "Aus Anfragen werden Kontakte, aus Kontakten Aufträge."), + ("Zettelwirtschaft", "Carousel", "Wissen ohne Produkt. Wo im Betrieb Zeit verloren geht."), ("Mitarbeiter-Management", "Carousel", "Wer kann was, wer ist wo, wer braucht was."), ("Der Betrieb dahinter", "Carousel", "Vierte Generation SHK. Keine Studio-Bilder."), ("KI-Anbindung, MCP", "Carousel", "Externe KI darf mitlesen, ohne Datenabfluss."), @@ -86,7 +91,7 @@ TERMINE = slots(START, len(PLAN), AUSGELASSEN) # Wie viele Beitraege fertig im Generator liegen. Sie sind in der Tabelle # gelb hinterlegt, und der Satz darueber nennt die Zahl -- beides kommt aus # derselben Konstante, damit es nicht auseinanderlaeuft. -FERTIG = 6 +FERTIG = 7 ZAHLWORT = {1: "Der eine markierte Termin ist", 2: "Die beiden markierten Termine sind", 3: "Die drei markierten Termine sind", 4: "Die vier markierten Termine sind", 5: "Die fünf markierten Termine sind", 6: "Die sechs markierten Termine sind", diff --git a/rules.md b/rules.md index a9d7e91..c1b5588 100644 --- a/rules.md +++ b/rules.md @@ -10,6 +10,39 @@ Der Generator läuft lokal: `./serve.sh` → ## 1. Wo die Wahrheit steht +> **Neue Basis ab 12.10.2026: `hivegrid-cloud`.** Das ist die aktuelle Version +> der Software, mit den neuen Komponenten. Neue Posts bauen auf ihrem Look auf, +> nicht mehr auf der Website. Bei Zweifel dort nachschauen: +> +> | Was | Quelle in `hivegrid-cloud/` | +> |---|---| +> | Farben, Schriftgrößen, Radien, Schatten | `apps/web/app/ui/theme.css` | +> | Komponenten (109, aus Subframe) | `apps/web/app/ui/components/` | +> | Subframe-Projekt | `f023064a5ca0`, siehe `.subframe/sync.json` | +> | Schrift-Dateien | `apps/web/public/fonts/instrument-sans-*.woff2` | +> | Module und Screens | `apps/web/app/modules/` | +> | Logo | `apps/web/app/ui/components/Logo/` | +> +> Die wichtigsten Werte aus `theme.css`: +> +> | Was | Wert | +> |---|---| +> | Schrift | Instrument Sans (heute hier: Manrope) | +> | Text, Knöpfe | `#24242B` (grey-900), Knöpfe sind fast schwarz | +> | Text zweitrangig | `#505057`, drittrangig `#6D6D71` | +> | Markengelb | `#F1B729` (brand-600), unverändert | +> | Zweitfarbe | Sky `#0791F0` (brand-secondary-500) | +> | Flächen | `#FAFAFA` und `#F5F4F4` | +> | Rahmen | `#E5E5E5` (neutral-200) | +> | Radien | 4, 8, 12 px | +> | Größen | Hero 72/72, Seite 48/56, Untertitel 32/40, alle 600 | +> | Symbole | Feather über `@subframe/core` (heute hier: Phosphor) | +> +> Drei Punkte widersprechen den bisherigen Regeln und sind noch nicht +> entschieden: die Schatten (`--shadow-md`, `--shadow-lg`) gegen §5 „Keine +> Schatten“, der Rahmen `#E5E5E5` gegen `#D5DBE1` aus §1a, Feather gegen +> Phosphor. Die Werte sind hier noch nicht gespiegelt. + Alle Marken-Werte stammen aus der Website, nicht aus diesem Repo. Bei Zweifel **dort nachschauen, nicht hier raten**: @@ -362,12 +395,33 @@ Quelle kam. Seitdem prüft es die Maschine, an zwei Stellen: | Bildexport | `renderSlide()` bricht ab, bevor ein PNG entsteht | | Bewegtbild | `animation.mjs` prüft an 24 Stellen über den Ablauf | -**Ein reines Muster genügt dafür nicht.** Deutsch schreibt „neue“, „Dauer“ und -„Michael“ völlig zu Recht mit `ae`/`oe`/`ue`. Nachgezählt über den gezeichneten -Text aller Projekte sind es aber nur eine Handvoll solcher Wörter — deshalb -Muster **plus** Ausnahmeliste `UMLAUT_ERLAUBT`. Bei `ss` ist es umgekehrt: -fast immer richtig (dass, Schluss, Netzanschluss), nur wenige Wörter brauchen -ein scharfes s. Die stehen einzeln in `BRAUCHT_SCHARFES_S`. +Geprüft wird beides: fehlende Umlaute **und** Em-Dashes. Die Em-Dash-Regel +stand von Anfang an hier und wurde in Post 8 trotzdem gebrochen — eine Regel, +die nur im Dokument steht, hält nur so lange, wie jemand daran denkt. + +**Bei den Umlauten genügt ein reines Muster nicht**, aber fast. Ein +ersatzweise geschriebenes `ae`/`oe`/`ue` steht nie hinter einem Vokal: „für“, +„über“, „grün“, „Sanitär“, „Lüftung“ folgen alle auf einen Konsonanten oder +stehen am Wortanfang. Hinter einem Vokal sind es dagegen immer zwei eigene +Laute — bauen, Bauer, neue, Dauer, Steuer, Mauer, genauer. Das Muster prüft +deshalb `(^|[^aeiou])(ae|oe|ue)`, und die Ausnahmeliste `UMLAUT_ERLAUBT` ist +auf die echten Sonderfälle geschrumpft: „Michael“ (ae hinter h), „aktuell“ +(ue hinter t). Vorher standen dort sechs Wörter nach demselben Muster, und +die Liste wäre mit jedem Beitrag weitergewachsen. + +Bei `ss` ist es umgekehrt: fast immer richtig (dass, Schluss, Netzanschluss), +nur wenige Wörter brauchen ein scharfes s. Die stehen einzeln in +`BRAUCHT_SCHARFES_S`. + +**Mailadressen und Domains sind ausgenommen.** In `buero@muster-shk.de` kann +gar kein ü stehen; die umlautfreie Schreibung ist dort keine Schludrigkeit, +sondern Pflicht. + +**Ein Zeilenumbruch ist eine Wortgrenze.** Die Prüfung liest nicht +`textContent`, sondern die einzelnen Textknoten mit Leerzeichen dazwischen. +Sonst klebt eine Überschrift wie „Formulare selbst bauen.`
`Per +Drag-and-drop.“ zu `bauen.Per` zusammen — ein Wort, das es nicht gibt, das +aber `ue` enthält und die Prüfung auslöst. Schlägt die Prüfung bei einem Wort an, das so richtig ist, gehört es in die Ausnahmeliste — nicht die Prüfung abgeschaltet.