Regeln: hivegrid-cloud als neue Basis, Redaktionsplan mit Post 7 fertig
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bc2a05012d
commit
b61f029a36
4 files changed
+70
-8
No files matched your search
@@ -5,3 +5,6 @@ redaktionsplan/*.html
|
||||
|
||||
# Wegwerf-Profil des Browsers beim Bau der Video-Komponenten
|
||||
video/.chrome/
|
||||
|
||||
# Python-Zwischendateien von serve.py
|
||||
__pycache__/
|
||||
Binary file not shown.
@@ -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",
|
||||
|
||||
@@ -10,6 +10,39 @@ Der Generator läuft lokal: `./serve.sh` → <http://127.0.0.1:4321/post1.html>
|
||||
|
||||
## 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.`<br>`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.
|
||||
|
||||
Reference in new issue
Block a user