Redaktionsplan: Team-Chat auf Mittwoch, alles danach einen Termin weiter

Der Team-Chat war zum Montag nicht fertig. Er rueckt auf Mi 26.08., und
alle Beitraege danach ruecken einen Slot mit. Die Spanne endet damit am
18.09. statt am 16.09.

  Team-Chat              Mo 24.08.  ->  Mi 26.08.
  Form Builder           Mi 26.08.  ->  Fr 28.08.
  Zettelwirtschaft       Fr 28.08.  ->  Mo 31.08.
  ...
  Haeufige Fragen        Mi 16.09.  ->  Fr 18.09.

NICHT UEBER START VERSCHOBEN
Der kuerzere Weg waere gewesen, START um einen Termin nach hinten zu
setzen -- so ist es beim letzten Mal gemacht worden, als sich der Start
selbst verspaetete. Diesmal geht das nicht: die ersten vier Beitraege
sind am 14., 17., 19. und 21.08. tatsaechlich erschienen. Ein Plan, der
rueckwirkend andere Termine behauptet, ist keiner.

Stattdessen gibt es AUSGELASSEN, eine Menge von Terminen, die slots()
ueberspringt. Beim naechsten Ausfall ist es ein Eintrag mehr, und die
Historie bleibt richtig.

DREI STELLEN HINGEN AN DER ALTEN RECHNUNG
- Die gelbe Markierung stand fest auf zwei Zeilen ("if i < 2"). Fertig
  im Generator sind inzwischen vier. Jetzt FERTIG = 4, und der Satz
  darueber nimmt sein Zahlwort aus derselben Konstante -- vorher haette
  man beides von Hand gleich halten muessen.
- "Das erste Reel steht am 09.09." war schon vor dieser Verschiebung
  falsch: der Reel lag auf dem 11.09. Vermutlich ein Rest davon, dass
  Workflow-Engine und Projektmanagement einmal die Plaetze getauscht
  haben. Das Datum wird jetzt aus dem Plan gerechnet und steht bei
  14.09.
- Stand im Kopf auf 23.08.2026.

Instagram-Redaktionsplan.html ist per .gitignore nicht versioniert, nur
die Quelle und das PDF. Wer die Datumsangaben braucht, baut mit
python3 redaktionsplan/bauen.py neu.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
dejanandClaude Opus 5 committed 2026-08-23 20:21:41 +02:00
1 parent c26efa3f0c
commit fcf720a1ee
2 files changed
+34 -10

No files matched your search

Binary file not shown.
+34 -10
View File
@@ -33,13 +33,25 @@ TAGE = {0: "Mo", 2: "Mi", 4: "Fr"}
# einen Termin nach hinten gerutscht.
START = date(2026, 8, 14)
# Termine, die ausfallen. Der Plan rutscht ab dort um einen Slot nach hinten,
# die Beitraege davor behalten ihr Datum -- sie sind schon erschienen.
#
# Warum nicht einfach START verschieben: das haette auch die vier Beitraege
# mitgenommen, die am 14., 17., 19. und 21.08. tatsaechlich draussen waren.
# Ein Plan, der rueckwirkend andere Termine behauptet, ist keiner.
#
# 24.08. Team-Chat war nicht fertig, rueckt auf Mi 26.08.
AUSGELASSEN = {"24.08."}
def slots(start: date, anzahl: int):
"""Die Mo/Mi/Fr-Termine ab dem Starttag."""
def slots(start: date, anzahl: int, auslassen=frozenset()):
"""Die Mo/Mi/Fr-Termine ab dem Starttag, ohne die ausgelassenen."""
raus, d = [], start
while len(raus) < anzahl:
if d.weekday() in TAGE:
raus.append((TAGE[d.weekday()], d.strftime("%d.%m.")))
stempel = d.strftime("%d.%m.")
if stempel not in auslassen:
raus.append((TAGE[d.weekday()], stempel))
d += timedelta(days=1)
return raus
@@ -65,16 +77,28 @@ PLAN = [
("Häufige Fragen", "Carousel", "Die fünf Einwände, die immer kommen."),
]
TERMINE = slots(START, len(PLAN))
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 = 4
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"}[FERTIG]
# Der erste Reel-Termin, gerechnet statt abgeschrieben. Im Text stand einmal
# fest "09.09." -- schon vor dieser Verschiebung lag er auf dem 11.09.
REEL = next(d for p, (t, d) in zip(PLAN, TERMINE) if p[1] == "Reel")
SPANNE = TERMINE[0][1] + " bis " + TERMINE[-1][1] + START.strftime("%Y")
ZEILEN = "".join(
'<tr{hi}><td class="dt"><b>{tag}</b> {datum}</td><td><b>{thema}</b></td>'
'<td class="fm">{format}</td><td class="zl">{ziel}</td></tr>'.format(
hi=' class="hi"' if i < 2 else "",
hi=' class="hi"' if i < FERTIG else "",
tag=t, datum=d, thema=p[0], format=p[1], ziel=p[2],
)
for i, (p, (t, d)) in enumerate(zip(PLAN, slots(START, len(PLAN))))
for i, (p, (t, d)) in enumerate(zip(PLAN, TERMINE))
)
HTML = f"""<!doctype html>
@@ -168,7 +192,7 @@ ul.num li::before{{content:counter(n);background:none;color:var(--ink3);font-siz
<section class="page">
<div class="top">
<img src="data:image/svg+xml;base64,{LOGO}" style="height:17px" alt="HiveGrid">
<div class="eyebrow">Instagram &middot; Redaktionsplan &amp; Vorgehen &middot; Stand 14.08.2026</div>
<div class="eyebrow">Instagram &middot; Redaktionsplan &amp; Vorgehen &middot; Stand 23.08.2026</div>
</div>
<div class="body">
<h1 style="margin-bottom:9px">Rahmen und Rhythmus</h1>
@@ -265,8 +289,8 @@ ul.num li::before{{content:counter(n);background:none;color:var(--ink3);font-siz
<p class="lead" style="margin-bottom:13px;max-width:660px">
Fünfzehn Termine, alle um 12:00 Uhr. Die Reihenfolge ist nicht beliebig: erst warum
es uns gibt, dann die Haltung, dann die Funktionen. Innerhalb der Funktionen von der
täglichen Last nach hinten zu dem, was Vorwissen braucht. Die beiden markierten
Termine sind gesetzt und liegen fertig im Generator, alles danach darf sich verschieben.
täglichen Last nach hinten zu dem, was Vorwissen braucht. {ZAHLWORT} gesetzt und
liegen fertig im Generator, alles danach darf sich verschieben.
</p>
<table style="margin-bottom:14px">
@@ -387,7 +411,7 @@ ul.num li::before{{content:counter(n);background:none;color:var(--ink3);font-siz
weil Reichweite in dieser Phase nicht das Ziel ist.</p>
<p class="small">Carousels passen besser zu dem, was der Kanal leisten soll: Sie
erklären, sie lassen sich im Generator sauber und wiederholbar bauen, und sie werden
gespeichert. Das erste Reel steht am 09.09. und ist eine Bildschirmaufnahme, dafür
gespeichert. Das erste Reel steht am {REEL} und ist eine Bildschirmaufnahme, dafür
braucht es keine Kamera. Danach kommt Material aus dem Betrieb dazu. Aus drei Beiträgen
werden dann zwei Carousels und ein Reel, nicht vier Beiträge.</p>
</div>