Redaktionsplan: Workflow-Engine vor Projektmanagement

Dazu der schon offene Umbau: der Starttermin steht als Konstante oben,
Datumsspanne und Stand ziehen sich daraus statt fest im Text zu kleben.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
dejanandClaude Opus 5 committed 2026-08-14 19:53:59 +02:00
1 parent 35f05cf213
commit 06479c54b3
2 files changed
+13 -4

No files matched your search

Binary file not shown.
+13 -4
View File
@@ -28,6 +28,12 @@ LOGO = base64.b64encode(
TAGE = {0: "Mo", 2: "Mi", 4: "Fr"}
# Der erste Termin. Am 12.08. war der Start geplant, erschienen ist "Die
# Geschichte" aber erst am Freitag darauf -- der ganze Plan ist damit um
# einen Termin nach hinten gerutscht.
START = date(2026, 8, 14)
def slots(start: date, anzahl: int):
"""Die Mo/Mi/Fr-Termine ab dem Starttag."""
raus, d = [], start
@@ -44,8 +50,8 @@ def slots(start: date, anzahl: int):
PLAN = [
("Die Geschichte", "Carousel, 6", "Herkunft. Warum es HiveGrid gibt."),
("Verbinden statt ersetzen", "Einzelbild", "Haltung. Die Kernaussage in einem Satz."),
("Projektmanagement", "Carousel", "Der Überblick, den jeder Betrieb vermisst."),
("Workflow-Engine", "Carousel", "Wenn-dann statt Handarbeit."),
("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."),
@@ -59,13 +65,16 @@ PLAN = [
("Häufige Fragen", "Carousel", "Die fünf Einwände, die immer kommen."),
]
TERMINE = slots(START, len(PLAN))
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 "",
tag=t, datum=d, thema=p[0], format=p[1], ziel=p[2],
)
for i, (p, (t, d)) in enumerate(zip(PLAN, slots(date(2026, 8, 12), len(PLAN))))
for i, (p, (t, d)) in enumerate(zip(PLAN, slots(START, len(PLAN))))
)
HTML = f"""<!doctype html>
@@ -159,7 +168,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 10.08.2026</div>
<div class="eyebrow">Instagram &middot; Redaktionsplan &amp; Vorgehen &middot; Stand 14.08.2026</div>
</div>
<div class="body">
<h1 style="margin-bottom:9px">Rahmen und Rhythmus</h1>
@@ -249,7 +258,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">Redaktionsplan &middot; 12.08. bis 14.09.2026</div>
<div class="eyebrow">Redaktionsplan &middot; {SPANNE}</div>
</div>
<div class="body">
<h1 style="margin-bottom:9px">Was wann erscheint</h1>