diff --git a/README.md b/README.md index 5312423..b2044ed 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,35 @@ Downloads landen direkt in `~/Downloads`, ohne Browser-Dialog. | Projekt | Datei | Inhalt | |---|---|---| -| Post 1 · Lösung | `post1.html` | Carousel, 5 Slides | +| Post 1 · Lösung | `post1.html` | Carousel, Anzahl frei | + +### 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. + +**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 diff --git a/post1.html b/post1.html index d1a9f7d..ea43f1d 100644 --- a/post1.html +++ b/post1.html @@ -33,6 +33,22 @@ height: 100vh; overflow: hidden; display: flex; } + /* Inhaltsfelder der gewaehlten Slide. Eine Spalte, damit lange Texte nicht + in einer schmalen Zelle kleben. */ + #inhalt { display: flex; flex-direction: column; gap: 4px; } + .inh-label { font-size: 11px; color: #8A8F9B; letter-spacing: .04em; margin-top: 4px; } + #inhalt input, #inhalt textarea, #inhalt select { + width: 100%; box-sizing: border-box; + background: #22242C; color: #D6DAE3; border: 1px solid #2E313B; + border-radius: 7px; padding: 7px 8px; + font-family: inherit; font-size: 12px; line-height: 1.45; + } + #inhalt textarea { resize: vertical; min-height: 46px; } + #inhalt input:focus, #inhalt textarea:focus, #inhalt select:focus { + outline: none; border-color: var(--accent-yellow); + } + #slide-ops button { flex: none; padding: 8px 10px; } + .saved { font-size: 11px; color: #6FCF97; opacity: 0; transition: opacity .2s; margin-left: 6px; @@ -314,14 +330,14 @@ } /* ─── Durchgehendes Carousel ────────────────────────────────────────────── - Der Post ist ein einziges 5400 x 1350 grosses Blatt, das in fünf 1080er - Fenster geschnitten wird. Jede Slide zeigt ihren Ausschnitt, indem die + Der Post ist ein einziges durchgehendes Blatt, das in 1080er Fenster + geschnitten wird. Seine Breite folgt der Anzahl der Slides (--sheet-w). Jede Slide zeigt ihren Ausschnitt, indem die Ebene um index * 1080 nach links verschoben wird. Elemente auf den Nähten werden dadurch zerschnitten und laufen auf der nächsten Slide weiter. */ .continuum { position: absolute; top: 0; height: 100%; left: calc(var(--slide-i, 0) * -1080px); - width: 5400px; + width: var(--sheet-w, 5400px); pointer-events: none; opacity: var(--int-mul, 1); } @@ -340,7 +356,7 @@ } /* Ein Band über die volle Breite: die Klammer, die alle fünf zusammenhält. */ .ct-band { - left: 0; width: 5400px; height: 54px; bottom: 96px; + left: 0; width: var(--sheet-w, 5400px); height: 54px; bottom: 96px; background: var(--shape-line); } .ct-g { color: var(--gmark-color); } @@ -409,7 +425,7 @@ .sheet { position: absolute; top: 0; height: 100%; left: calc(var(--slide-i, 0) * -1080px); - width: 5400px; z-index: 1; + width: var(--sheet-w, 5400px); z-index: 1; } .page { position: absolute; top: 0; width: 1080px; height: 1350px; } @@ -768,13 +784,25 @@