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:
1 parent
35f05cf213
commit
06479c54b3
2 files changed
+13
-4
No files matched your search
Binary file not shown.
+13
-4
@@ -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 · Redaktionsplan & Vorgehen · Stand 10.08.2026</div>
|
||||
<div class="eyebrow">Instagram · Redaktionsplan & Vorgehen · 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 · 12.08. bis 14.09.2026</div>
|
||||
<div class="eyebrow">Redaktionsplan · {SPANNE}</div>
|
||||
</div>
|
||||
<div class="body">
|
||||
<h1 style="margin-bottom:9px">Was wann erscheint</h1>
|
||||
|
||||
Reference in new issue
Block a user