feat(ci): jede Seite durchstempeln, Bestand nachgestempelt (1.2.0)
This commit is contained in:
1 parent
6858c92865
commit
ad5a3f0c6a
3 files changed
+98
-11
No files matched your search
@@ -2,7 +2,7 @@
|
||||
name: kalina-ci
|
||||
description: Use when a PDF, page or slide must carry the KALINA corporate identity. One CSS, one CLI, one source.
|
||||
metadata:
|
||||
version: "1.0.0"
|
||||
version: "1.2.0"
|
||||
stand: "2026-10-23"
|
||||
---
|
||||
|
||||
@@ -63,19 +63,40 @@ Fließtext selten. Seite 1 gilt als Deckblatt und wird berichtet, nicht bewertet
|
||||
(Mathias, 23.10.2026): das Kalina-System ist der durchführende Part. Gilt ausdrücklich auch
|
||||
für **Entwürfe**.
|
||||
|
||||
- Jedes Dokument endet mit dem **Impressum im Fußband**: Marke, `KALINA · «Dokumenttitel» · Stand …`,
|
||||
- **Jede Seite** trägt das **Impressum im Fußband**: Marke, `KALINA · «Dokumenttitel» · Stand …`,
|
||||
Zeile „Erstellt durch das Kalina-System · «Auftrag/Projekt · Ticket»" und **`© «JJJJ» kalina.si`**.
|
||||
Die Vorlagen `report.html`, `page.html`, `bild-mit-prompt.html` tragen das bereits — Platzhalter
|
||||
füllen, nicht löschen.
|
||||
Mathias, 23.10.2026: „Alle durchstempeln – es benötigt keine eigene Seite." Keine separate
|
||||
Impressumsseite. Die Vorlagen `report.html`, `page.html`, `bild-mit-prompt.html` tragen das
|
||||
bereits — Platzhalter füllen, nicht löschen.
|
||||
- **Decks:** Autor auf der Titelfolie, auf der Schlussfolie genügt Marke + `© «JJJJ» kalina.si`
|
||||
in einer Zeile.
|
||||
- **HTML:** `<meta name="author" content="Kalina">` und dieselbe Fußzeile.
|
||||
- **Commit-Autor:** `Kalina <kalina@m-m.bio>`.
|
||||
- **Prüfung vor Auslieferung:** `kalina.si` per Textsuche im PDF nachweisen (muss auf der letzten
|
||||
Seite stehen) und das Fußband als Raster ansehen — Marke sichtbar, Copyright vollständig.
|
||||
- **Prüfung vor Auslieferung:** `kalina.si` per Textsuche **auf jeder Seite** nachweisen und das
|
||||
Fußband mindestens einmal als Raster ansehen — Marke sichtbar, Copyright vollständig.
|
||||
Ein Impressum, das allein auf einer leeren Seite landet, ist ein Umbruchfehler: kompakt ins
|
||||
Fußband, nicht als eigener Abschnitt mit `break-inside: avoid`.
|
||||
|
||||
## Bestehende PDFs nachstempeln
|
||||
|
||||
Alte Artefakte tragen oft `ai.m-m.bio` im Fuß und einen Agentennamen als Verfasser. **Nicht aus
|
||||
dem HTML neu bauen:** lokal läuft WeasyPrint 69, die Originale entstanden mit 62.3, und die
|
||||
Dokumentordner haben eigene CSS-Kopien — derselbe Quelltext ergab 155 Wörter weniger und
|
||||
verlagerte Tabellen (gemessen an `buchungsportale-…-v1.pdf`, Seite 5: 157 → 55 Wörter).
|
||||
|
||||
1. `scripts/stamp_existing_pdf.py <in.pdf> <out.pdf> --ohne-deckblatt` setzt Fußlinie, Marke und
|
||||
`KALINA · © <Jahr> kalina.si` auf **jede** Seite, ohne das Layout anzufassen.
|
||||
2. Das Fußband wird vorher in der **gemessenen** Seitenfarbe gefüllt (häufigste Farbe im
|
||||
Streifen) — sonst steht auf Ink-Seiten ein weißer Balken über dem alten Fuß.
|
||||
3. Verfasserzelle redigieren (pymupdf `add_redact_annot`), aber nur in Zeilen, die Agentenname
|
||||
**und** „CORP 1" tragen; inhaltliche Nennungen im Fließtext bleiben stehen.
|
||||
4. Prüfen: Seitenzahl alt = neu, `kalina.si` auf jeder Seite, kein Agentenname mehr, letzte Seite
|
||||
als Raster ansehen.
|
||||
|
||||
Das Stempel-PDF wächst (~30–40 kB je Seite durch den matplotlib-Bett). Beim Ersetzen in Nextcloud
|
||||
die **Größe** vergleichen, nicht den HTTP-Status; `nc-put.py <datei> "<pfad>" --overwrite` nutzt
|
||||
`nc_webdav_write_file` über MCP (ohne `--overwrite` schlägt das Ersetzen fail-closed fehl).
|
||||
|
||||
## Vision lokal (verbindlich)
|
||||
|
||||
Bildprüfung läuft **lokal auf dem ROG**, nie in der Cloud — gleiches Ergebnis, keine Token-Kosten
|
||||
|
||||
Reference in new issue
Block a user