Commit Graph

64 Commits

Author SHA1 Message Date
Hermes Agent ef55212a7e fix: Kingdom Rush #15540 online mit Bild + Workflow gehärtet
- verify_article.sh: +4 CSS-Compliance-Checks (vorbestell-box, bsn-facts, veraltete Boxen, Inline-Styles)
- fix_article_format.py: Auto-Fixer für Inline-Style-Stripping
- journalistic-article-writing SKILL.md: QC-Pipeline + Template mit vorbestell-box
- artikel_kingdom_rush_deal_20260710.html: PATCH 200 auf Joomla + Bild
2026-07-10 23:41:04 +02:00
Hermes Agent c8bddebdab feat: verify_article.sh +4 CSS-Compliance-Checks (vorbestell-box, bsn-facts, veraltete Boxen, Inline-Styles) 2026-07-10 23:39:17 +02:00
Hermes Agent 2f62af4b0b fix: Kingdom Rush Deal — vorbestell-box + Affiliate-Box auf BSN-Standard formatiert 2026-07-10 23:37:43 +02:00
Hermes Agent 8cfe7f0ba5 feat: Marajoara Deal (50%, 330 Stück) + Kingdom Rush Komplett-Deal (bis -73%) 2026-07-10 22:12:02 +02:00
Hermes Agent 1a09afeeb7 feat: Planet Unknown Bundle (65% Rabatt) + Cosmic Frog Trostangebot (64% Rabatt) 2026-07-10 22:06:30 +02:00
Hermes Agent a673fa83c6 feat: KCD Vorbestell-Artikel — Vlaada Chvátil, 142,49 €, April 2027 2026-07-10 12:46:44 +02:00
Hermes Agent ea18c9e412 feat: Fantasywelt Vorbestellungen KW28 — 351 Spiele komplett + 3 Highlights 2026-07-10 10:46:05 +02:00
Hermes Agent 1183617af5 feat: Spieletreff-Artikel + Deal #15534 catid/metadaten fix 2026-07-10 10:27:23 +02:00
Hermes Agent 9491b78c2d feat: BSN Dark-Mode-CSS für Vorbestell-Box & bsn-facts
- --vb-* Design-Token für [data-bs-theme=dark] überschrieben
- .vorbestell-box: background:#fff → #1e1e2e
- .vorbestell-box__panel: tint → dark tint
- .bsn-facts: background:#fff → #1e1e2e
- .bsn-facts__tile: tint → dark tint
- bsn-infobox, bsn-table, bsn-dachzeile, bsn-meta, bsn-recherche
  Text- und Border-Farben für Dark Mode

Einfügen in: Astroid → Template Options → Custom Code → Custom CSS
2026-07-10 00:11:36 +02:00
Hermes Agent 2a06bcaee0 fix: <style>-Blöcke aus allen 24 Artikeln entfernt + Skill korrigiert
- artikel_*.html: 24 Dateien von <style>-Blöcken befreit (body, max-width zerstören Joomla)
- journalistic-article-writing SKILL.md: falsche 'AUSNAHME 09.07.' entfernt
- Ursache: Skill-Kommentar erlaubte Sub-Agenten <style> 'für Vorschau' — kein Gatekeeper existiert
2026-07-09 23:30:55 +02:00
Hermes Agent 9d3461750c fix(15531): <style>-Block entfernt — zerstörte Joomla-Layout (body, max-width) 2026-07-09 23:26:55 +02:00
Hermes Agent 18fc7197fc fix: Cache-Control-Header — Browser cached das iframe 2026-07-09 17:33:47 +02:00
Hermes Agent 32b7378466 fix: Formular-Texte neutralisiert — 'Wir' statt 'Basti' 2026-07-09 17:25:52 +02:00
Hermes Agent 31f814a28b fix: Artikel-Link im Dashboard absolut auf brettspiel-news.de 2026-07-09 16:46:17 +02:00
Hermes Agent 589705d6c5 fix: Basti-Benachrichtigung via Dateisystem statt Telegram
- notify_basti() schreibt .md-Dateien nach fehler-server/eingang/
- Format: YYYYMMDD-HHMMSS_ID.md mit Artikel-Link und Fehlerbeschreibung
- Keine externe API nötig, funktioniert offline
2026-07-09 16:39:40 +02:00
Hermes Agent 6571254e52 feat: Fehler-Melde-Tool — Server auf :8888 + Dashboard in Article-Server
- fehler-server/server.py: Eigenständiger HTTP-Server (Python stdlib)
  - POST /report: Fehlermeldung speichern + Telegram an Basti
  - GET /api/stats: Statistiken (nur localhost)
  - GET /api/meldungen: Alle Meldungen (nur localhost)
  - GET /: HTML-Formular für iframe-Einbindung
  - SQLite-DB, auto-created
- article_server.py: /fehler-Endpunkt + 🐛 Fehler-Link im Header
  - Serverseitig gerendertes Dashboard
  - Holt Daten vom Fehler-Server (localhost:8888)
  - Statistik-Cards + Meldungstabelle
- Cloudflare-Tunnel: fehler.datenhimmel.work → :8888
2026-07-09 14:58:07 +02:00
Hermes Agent 3a3d41ba99 artikel: BGG-Rating-Kluft — Welche Spiele spalten die Community? 2026-07-03 23:49:20 +02:00
Hermes Agent b3b6b702d1 chore: vollständiger Workspace-Snapshot 03.07.2026
- publish_gatekeeper.py (neues Gatekeeper-System)
- 4 Premium-Artikel: Veggie Match, Berlin 1960, Wild Tiled West, Scream Park
- Alle kumulierten Artikel, Scripts, Medien und Caches
2026-07-03 11:35:39 +02:00
Hermes Agent 0bc68ecd25 feat: publish_gatekeeper.py — VALIDATE→PUBLISH→VERIFY pipeline
Ersetzt alle manuellen curl/PATCH-Workflows.
- Strippt doppelte Überschriften (<title>, <h1>, <h2>, meta, dachzeile)
- Eindeutige Aliase mit Zeitstempel (verhindert 'same alias'-Fehler)
- Sofortige Post-Publish-Verifikation (text-Länge, Vorbestell-Box, Read-More)
- Kein HTTP 200 ohne echten Content mehr
2026-07-03 11:07:17 +02:00
Hermes Agent fe071ffd8a fix(nanobanana): Immer 16:9 Full HD nativ — kein Resize mehr
- Backend: aspect_ratio auf "16:9" erzwungen (ignoriert UI-Wert)
- imageConfig.aspectRatio im Gemini-API-Call (nativ, nicht per Prompt-Text)
- Post-Processing-Resize komplett entfernt → API-Output 1:1 ausgeliefert
- Nur noch PNG→JPG Konvertierung (DPI setzen, Format wechseln)
- Frontend: Aspect-Ratio-Dropdown entfernt → Fixtext "16:9 — Full HD"
- JS: aspectRatio hardcodiert auf '16:9'

User-Vorgabe: Immer nativ 16:9 rendern, niemals nachträglich verzerren.
2026-06-28 23:00:26 +02:00
Hermes Agent ff334be4c4 fix(nanobanana): Aspect-Ratio-Bug doppelt behoben
- Bug #1: img.resize((1920,1080)) war hartkodiert → auf _aspect_to_size() umgestellt
- Bug #2: imageConfig.aspectRatio fehlte im Gemini-API-Call → ergänzt

Alle Aspect-Ratios (1:1, 2:3, 9:16, 21:9 etc.) werden jetzt korrekt gerendert.
2026-06-28 22:51:36 +02:00
Hermes Agent 0a63f0439f Retro-Artikel #46-#57: BSN-Standard-Fixes + Abkürzungs-Check (Daniel 24.06.2026) 2026-06-24 23:07:48 +02:00
Hermes Agent 8902915f03 QC: CHECK 19 – Abkürzungen bei Erstverwendung definiert (Daniel 24.06.2026) 2026-06-24 22:54:09 +02:00
Hermes Agent 1056eef8db Fix: Read-More-Doppelung + Bild-Dimensionen
- Read-More: introtext ohne <hr> (Joomla setzt eigenen)
- Bild-Dimensionen: PIL erkennt Größe → ?width=X&height=Y
2026-06-24 13:32:39 +02:00
Hermes Agent 4d90e4249d fix: QC-Ratings aus 7 älteren Artikeln entfernt (CHECK 10) 2026-06-23 23:47:51 +02:00
Hermes Agent e73e0e88de fix: QC-Ratings (AAA/AA/A) aus Qork entfernt + verify CHECK 10 lehnt QC-Zeilen jetzt ab 2026-06-23 23:41:17 +02:00
Hermes Agent 0a1dffa027 fix: Datumszeile aus Gamegenic-Testartikel entfernt (System setzt Datum) 2026-06-23 23:38:36 +02:00
Hermes Agent 34ab91097f artikel: Moytura (Thompson x Benjamin, Bitewing) — 0 QC-Fehler 2026-06-23 23:32:53 +02:00
Hermes Agent e67eea9022 fix: Recherchestand nur Datum, keine Quellen-Wiederholung — Quellen stehen im Block 2026-06-23 23:13:54 +02:00
Hermes Agent 4323ab97a1 fix: Recherchestand-Fußzeile jetzt mit klickbaren Links + <p class=meta> entfernt (System setzt Datum) 2026-06-23 23:10:37 +02:00
Hermes Agent 7893c7b38d fix: Read-More NACH Absatz 1 (nicht vor h2) — Daniel 23.06. + verify_article.sh CHECK 16 korrigiert 2026-06-23 23:06:32 +02:00
Hermes Agent 0fc75beab8 artikel: Chivalry (Turczi x dlp games) — 0 QC-Fehler 2026-06-23 23:03:24 +02:00
Hermes Agent 5d4d1b7471 fix: Read-More nach Einleitung (Joomla-Standard), Meta-Zeile entfernt (macht Server) 2026-06-23 22:50:47 +02:00
Hermes Agent b2f03b6cfb artikel: Chivalry - Dávid Turczi entführt mit dlp games in die Welt von König Artus 2026-06-23 22:48:14 +02:00
Hermes Agent 3457705be5 feat: verify_article.sh +5 Checks — Dachzeile, Infobox, Read-More-Pos, Quellen-Links, Recherchestand 2026-06-23 22:39:54 +02:00
Hermes Agent 3f66ba877e fix: Pipeline — Dachzeile, Infobox, Read-More-Position, Quellen-Format v2 2026-06-23 22:39:31 +02:00
Hermes Agent be19c0ec83 artikel: Gamegenic wird Partner von Tolarian Community Coll 2026-06-23 17:36:22 +02:00
Hermes Agent bc1c025101 artikel: Gamegenic × Tolarian Community College — The Academic Deckbox 2026-06-23 17:33:39 +02:00
Hermes Agent fa281391a9 feat: article_pipeline.py — Stage 0 Prompt-Builder für BSN-Artikel-Workflow 2026-06-23 14:35:52 +02:00
Hermes Agent 85aa2781f1 spec: article pipeline workflow for Cody 2026-06-23 14:26:02 +02:00
Hermes Agent e63004daca gamegenic: add head/body structure for article server listing 2026-06-23 12:57:32 +02:00
Hermes Agent 082af0a46b gamegenic: fix unlinked PM source + html ending + h2/span Quellen 2026-06-23 12:55:40 +02:00
Hermes Agent 42069f9aa7 QC: fix Survivalist article + add checks 12-13 (XML-API refs, unlinked sources)
- Fix artikel_survivalist: 'BGG-Daten via XML API v2' -> klickbare Links
- verify_article.sh: CHECK 12 (keine XML-API-Referenzen)
- verify_article.sh: CHECK 13 (Quellen müssen verlinkt sein)
2026-06-23 12:37:59 +02:00
Hermes Agent 26f8ac477d Fix 16:9 output + MIME detection for Image-to-Image
- Pillow installiert (fehlte → try/except lief ins Leere)
- _detect_image_mime(): Magic-Bytes-Erkennung (JPEG/PNG/WebP/HEIC)
- _gemini_generate_image(): kein hartes 'image/jpeg' mehr
- PIL-Resize 1920×1080 greift jetzt korrekt
2026-06-23 08:57:26 +02:00
Hermes Agent 202cb9da42 feat: Imagen → Gemini Flash Image (gemini-2.5-flash-image)
- Gemini kann Image-to-Image (Cover+Landschaft), Imagen nur Text
- generateContent statt predict, inlineData statt rawBytes
- PNG-Output, optionale PIL-Konvertierung zu JPEG
- image_base64 als Referenzbild im contents[].parts[]
- Getestet: Text-to-Image + Image-to-Image
2026-06-23 08:38:56 +02:00
Hermes Agent 23a4bff254 feat: Imagen Image-to-Image — Referenzbild als rawBytes übergeben
- _imagen_generate akzeptiert image_base64 (str|None)
- Multipart-Parser extrahiert hochgeladenes Bild als Base64
- rawBytes im Instance-Feld für Image-to-Image-Modus
- Duplicate import base64 as b64 entfernt
- Getestet: Text-to-Image + Image-to-Image funktionieren
2026-06-23 08:30:48 +02:00
Hermes Agent 53efc2f93b feat: NanoBanana → Google Imagen Backend (synchron, kein Polling)
- Ersetzt NanoBanana (async, Credits-Probleme) durch Google Imagen
- Synchron: Bild kommt als Base64 direkt in der Response
- JS vereinfacht: pollStatus() komplett entfernt (-70 Zeilen)
- Assign-Handler unterstützt jetzt lokale /media/ Pfade
- Default-Auflösung 1K, Imagen-Key via bsn-secrets (google-imagen-key)
- Editor: Header auf Google Imagen aktualisiert
2026-06-22 23:50:24 +02:00
Hermes Agent 8299ad1e24 Fix: NanoBanana null-safe handling + bessere Fehlermeldungen
- _handle_nanobanana_generate: Prüfe code!=0 (z.B. 402=kein Guthaben), data=None-Safe
- _handle_nanobanana_status: data=None-Safe + response=None-Safe
- JavaScript: Bessere Fehlermeldung wenn resp.json() fehlschlägt
- Verhindert 'NoneType' object has no attribute 'get' Crash
2026-06-22 22:46:24 +02:00
Hermes Agent 513fc0e6af feat: NanoBanana Bild-Generator — /nanobanana Editor mit Upload, Prompt, Polling, Artikel-Zuordnung
- Neue Unterseite /nanobanana im Article-Server (Port 8890)
- Foto-Upload per Drag/Drop (Referenzbild für Image-to-Image)
- Prompt-Textarea mit Char-Zähler + Ratio/Resolution-Selects
- BSN-Blau UI, Mobile-First CSS, Inline-JS
- Backend: /nanobanana/generate (POST), /status, /articles, /assign
- NanoBanana generate-2 API via bsn-secrets Key
- Automatisches Polling (5s, max 5min) mit Spinner
- Download-Button + Artikel-Zuordnung (unveröffentlichte Artikel)
- Live getestet: Page 200, Generate 200, Status successFlag=1
2026-06-22 22:35:44 +02:00
Hermes Agent 889acd8c6d Fix: H1+Meta aus Joomla-Body strippen, Bild-Auto-Delete entfernt
- H1 und <p class=meta> werden vor dem Senden an Joomla aus dem Body gefiltert
  (Daniel 19.06.: Titel+Lesezeit dürfen nicht im Fließtext landen)
- os.remove() für Bilder nach erfolgreichem Publish entfernt
  (Bilder bleiben auf Disk erhalten für spätere Referenz/Live-Schaltung)
2026-06-19 09:17:41 +02:00