dejanandClaude Opus 5 ceb63fec38 Post 3: zweite Slide, und eine Komponenten-Library fuers Video
POST 3
Slide 2 zeigt den Aufbau: HiveGrid in der Mitte, die eigenen Module auf dem
gelben Ring, die fremden Programme aussen am gestrichelten Kreis. Nachbau des
Schaubilds aus dem Prototyp, aber in den Markenfarben -- Magenta ist keine
(rules.md 2) -- und ohne Produktnamen im Kern.

Achtung: das ist eine andere Aussage als in post2-alt.html, wo in der Mitte
das Branchenprogramm liegt und HiveGrid ausdruecklich der Ring ist. Steht als
Warnung im Code. Die Ueberschrift "Der Kern bleibt." passt seit dem Wechsel
der Mitte nicht mehr zum Bild und ist noch offen.

Slide 1 traegt nur noch die Ueberschrift; ein leerer Fliesstext erzeugt jetzt
keinen leeren Absatz mehr. Das Wabenfeld ist enger geschnitten (Faktor 1,301
statt 1,227) und steht am Anschlag: 96 px zur Slide-Kante, die Sicherheitszone
liegt bei 92. Ueberschriften in 76 px und 3 px versetzt wie in post2-alt --
gemessen, nicht geschaetzt.

Zwei Fehler, die dabei aufgefallen sind:

- Die Andock-Kacheln lagen auf denselben Strahlen wie die Module und
  beruehrten sich. Dieselbe Ueberlappung hat der Exportpruefung eine Spanne
  von 37 vorgetaeuscht, wo eine fehlende Marke 0 ergeben muss -- der
  Gegentest kam durch, obwohl die Marke fehlte. 22,5 Grad Versatz behebt
  beides.
- Die Pruefung kannte nur den Ausschnitt des Wabenfelds und haette auf
  Slide 2 an der falschen Stelle gemessen. Der Ausschnitt wandert jetzt mit
  in die Ablage, wabenZonen heisst darum markenZonen.

VIDEO
Neuer Ordner video/ mit 13 Einblendungen fuer den Schnitt, jede als Standbild
und als Bildsequenz mit Ein- und Ausblendung, alle mit Alphakanal. Gerendert
aus komponenten.html von bauen.mjs ueber CDP; kein ffmpeg noetig, weil eine
Bildsequenz dieselbe Transparenz traegt wie ProRes 4444.

Der Schatten fehlte zunaechst ganz: die Karte trug clip-path fuer die Ecken
und box-shadow fuer den Schatten, und clip-path beschneidet ihn mit. Genau so
steht es in rules.md 3. Sitzt jetzt als drop-shadow auf einer Huelle.

NEBENBEI
- Das ZIP hiess in allen Projektdateien "hivegrid-post1-loesung", weil sie
  voneinander kopiert wurden. Kommt jetzt aus PROJECT.
- Das rechte Element-Feld liess sich nicht schliessen, wenn es nicht ganz ins
  Fenster passte: sein Knopf rutschte als erster hinaus. Knopf nach vorn,
  Escape hebt die Auswahl auf, max-width auf den Feldern.
- uebersicht.html schrieb "1 Slides".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-17 16:55:18 +02:00
2026-08-14 12:03:51 +02:00
2026-08-11 19:29:02 +02:00

HiveGrid Social — Design-Library & Post-Generator

Eigenständige Werkbank für HiveGrid-Social-Grafiken. Slides werden im Browser als HTML gebaut, im Canvas bearbeitet und pixelgenau als Instagram-taugliche PNGs exportiert.

Das Repo ist bewusst autark. Keine CDN-Verweise, keine Google-Fonts zur Laufzeit, keine Pfade in andere Repos. Alles, was ein Post braucht — Schrift, Logos, Mockups, Screenshots, Bibliotheken — liegt hier.

Starten

./serve.sh          # http://127.0.0.1:4321

Downloads landen direkt in ~/Downloads, ohne Browser-Dialog.

Projekte

Projekt Datei Inhalt Übergabe
Post 1 · Lösung post1.html Carousel, Anzahl frei
Post 2 · Die Geschichte post2.html Carousel, 6 Slides, erscheint 12.08. POST-2.md
Post 2 · Alternative post2-alt.html Derselbe Beitrag im Theme modern
Post 3 · Verbinden statt ersetzen post3.html Einzelbild, Theme modern, erscheint 17.08.

Alle Streifen nebeneinander zeigt uebersicht.html, erreichbar über Projekt → Alle Projekte im Streifen. Die Seite baut die Slides nicht selbst nach: jedes Projekt kommt als iframe mit ?nur=streifen, und in diesem Modus blendet die Post-Seite ihre Bedienoberfläche aus, zeigt den Streifen in natürlicher Größe und speichert nichts — drei Kacheln, die beim Schließen ihren Stand zurückschreiben, wären genau die Falle aus POST-2.md §6. Jeder Streifen ist auf die Fensterbreite eingepasst, gescrollt wird nur hoch und runter — kein Zoom, weder außen noch im Streifen.

Post 2 gibt es zweimal, in zwei Themes. Projekt und Theme sind zwei verschiedene Dinge: das Projekt sagt, welcher Beitrag, das Theme, wie er aussieht. notebook ist die Zeichenblock-Optik mit Raster und Marker, modern der ruhige Grund mit farbigem Akzentwort und schwebenden Karten. Beide zeigen denselben Beitrag mit denselben Texten.

Die Themes stehen in rules.md §1a mit ihren Unterschieden. Wer eine Visualisierung ändert, muss an beide Dateien denken.

Post 3 ist ein Einzelbild, keine Slidefolge: eine Haltung, die man durchwischen muss, ist keine. Sein Bild ist das Wabenfeld der Startseite, nachgebaut aus HoneycombSection.tsx — dieselbe Achsrechnung, dieselben Zellnummern, dieselbe Belegung, damit es wiedererkennbar bleibt und keine Anmutung davon ist. Die vier Waben „In Arbeit" fehlen: auf der Startseite sind sie ein Versprechen, im Beitrag wären sie ein Eingeständnis.

Die vierzehn Partner-Marken liegen unter assets/partner/ und sind, wie alles andere hier, aus der Website gespiegelt statt verlinkt. Sechs davon sind PNG und damit dieselbe Wette wie ein Screenshot (§7 in rules.md), deshalb prüft der Export sie einzeln nach — wabenZonen() in post3.html.

Der Redaktionsplan für alle weiteren Beiträge liegt in redaktionsplan/, gebaut mit python3 redaktionsplan/bauen.py.

Slides anlegen und wegnehmen

Wie viele Slides ein Post hat, steht nicht fest. Unter der Slide-Auswahl:

Knopf Wirkung
+ Neu leere Slide dahinter einfügen
Kopie die gewählte Slide samt Text, Bild und Verschiebungen verdoppeln
Löschen die gewählte Slide wegnehmen (die letzte bleibt stehen)
← → eine Position nach vorn oder hinten

Bei einer einzigen Slide ist der Post ein Einzelbild — die Kopfzeile sagt es, und der ZIP-Knopf verschwindet.

Unter Inhalt (nur diese Slide) stehen Tag, Überschrift, Fließtext und die Auswahl des Screenshots. Getippt wird Text, keine Auszeichnung: *Wort* setzt den Akzent, ein Zeilenumbruch bricht die Zeile um. Das Rahmenformat folgt beim Wechsel automatisch dem Seitenverhältnis der gewählten Aufnahme.

Die Tags sind gestalterisch ausgeblendet (visibility: hidden auf .badge). Der eingetippte Tag beschriftet deshalb vorerst nur den Slide-Knopf im Bedienfeld.

Eigene Bilder importieren

Unter Eigene Bilder wählst du Dateien aus dem Finder, oder du ziehst sie direkt auf eine Slide. Beim Ablegen wird das Bild dort zum zweiten Bild und lässt sich im Bearbeiten-Modus frei schieben und in der Größe ändern; über den Knopf importierst du nur und ordnest danach unter Inhalt zu.

Die Datei geht byteweise unverändert an den Server und liegt danach unter assets/eigene/. Nichts wird neu kodiert, skaliert oder umbenannt — nur Zeichen, die in einem Dateinamen nichts zu suchen haben, weichen einem Bindestrich.

assets/eigene/    importierte Bilder, gehören mit in den Commit

Der Umweg über den Server ist Absicht. Ein Foto als Base64 im Projektstand wäre größer als der gesamte übrige Stand und machte jeden Diff unlesbar. So steht dort nur der Pfad.

Die Auswahllisten unter Inhalt holt der Generator beim Start vom Server (/bilder), importierte Bilder stehen deshalb sofort darin — mit ★ gekennzeichnet.

Mitgelieferte Slides bleiben Vorlagen. Der Stand speichert für sie nur einen Verweis und die Felder, die du überschrieben hast — eine Änderung an der Vorlage im Code kommt dadurch weiterhin bei allen an, die sie nicht angefasst haben. Selbst angelegte Slides stehen vollständig im Stand.

Das Projekt speichert seinen Stand — Einstellungen, Layouts, Muster und alle Verschiebungen aus dem Canvas überleben einen Reload. „Projekt zurücksetzen" wirft ihn weg.

Der Stand liegt im Repo

Nicht nur im Browser: jede Änderung landet auch in state/<projekt>.json. Diese Dateien gehören mit in den Commit. Nur so hat die andere Maschine nach git pull denselben Stand.

state/post1.json       Post 1 · Lösung
state/post1-merk.json  Rückfallpunkt

Beim Laden gewinnt die Datei, der localStorage ist nur der Rückfall, wenn der Server nicht läuft. Wer den Stand ändert, muss also committen und pushen — sonst sieht ihn niemand sonst. Gibt es die Datei noch nicht, wird der Stand aus dem Browser einmalig hineingeschrieben.

Bedienung

Taste Wirkung
← → Slide wechseln (im Bearbeiten-Modus: Element verschieben)
E Bearbeiten an/aus
W Streifen ⇄ Einzelansicht
V Variante hell/dunkel
L M I Layout · Muster · Intensität
C G T Durchgehend · Tag-Ausrückung · Perspektive
D A Slide laden · alle als ZIP

Im Bearbeiten-Modus lassen sich Elemente ziehen und mit den Pfeiltasten pixelweise schieben (⇧ = 10 px).

Ein angeklicktes Element öffnet sein eigenes Feld rechts. Damit ist die Oberfläche geteilt: links die Slide und alles Allgemeine, rechts das eine Element.

Im Element-Feld Wirkung
Text Beschriftung des Elements, *Wort* setzt den Akzent
Schrift / Breite, A− A+ Größe
X Y Stelle auf der Slide, gezählt ab der Mitte, bezogen auf die obere linke Ecke
Ebene wie z-index — höher liegt weiter vorn. Leer heißt Standard
Links Mitte Rechts, Oben Mitte Unten an der Slide ausrichten, 92 px Rand
Position / Größe angleichen denselben Wert auf allen Slides
Löschen nimmt es aus der Slide. Es taucht darunter als „… zurück" wieder auf

Der Streifen ist eine durchgehende Fläche. Jede Slide trägt das gesamte Blatt, ein Element lässt sich also über den ganzen Post schieben und nicht nur in die Nachbar-Slide.

Auf der Fläche bewegen

Maus Wirkung
Ziehen Ausschnitt schieben
Rad Zoomen, auf den Zeiger zu
⇧ + Rad Waagerecht schieben
Leertaste-Ziehen, mittlere Taste Schieben, auch im Bearbeiten-Modus

Ein gewöhnliches Mausrad genügt, ohne Zusatztaste. Im Bearbeiten-Modus zieht die linke Taste das Element unter dem Zeiger — die Fläche schiebt man dort mit gedrückter Leertaste oder der mittleren Taste. Fit unten rechts setzt den Maßstab zurück.

Aufbau

assets/
├── brand/      Wortmarke hell/dunkel, G-Marke (SVG + PNG), Wabe, Geerkens
├── partner/    die 14 Marken des Wabenfelds (DATEV, KWP, pds, Bauhow, Aircall,
│              Onepage, PandaDoc, Hallo Petra, Claude, OpenAI, Google Drive,
│              Google Calendar, MS Outlook, MS Teams)
├── mockups/    Geräte-Mockups (Displays ausgeknockt, Screenshot liegt dahinter)
├── screens/    Software-Screenshots
├── eigene/     selbst importierte Bilder
└── fonts/      Manrope 400–800, lokal
vendor/         html-to-image, JSZip
state/          Projektstände, gehören ins Repo
serve.py        Statischer Server + /save, /state, /upload, /bilder
rules.md        Gestaltungsregeln, Farbwerte, Export-Wissen

Regeln

rules.md ist die Arbeitsgrundlage. Farbwerte, Geometrie, Typografie, Layout-Template, Instagram-Export und die Liste der Fallen, in die wir schon getappt sind. Vor jeder Änderung an der Gestaltung dort nachsehen.

Marken-Werte stammen aus der Website (HiveGrid-Website) und sind hier gespiegelt, nicht verlinkt. Ändert sich dort etwas, muss es hier nachgezogen werden.

S
Description
No description provided
Readme
84 MiB
0 Stars 9 Watchers 0 Forks
Languages
HTML 98.7%
Python 0.7%
JavaScript 0.4%
CSS 0.2%