Auf Wunsch von Dogi dauerhaft festgehalten: Perfektionsanspruch, i18n- Pflicht für jeden Text (inkl. JS-gerenderte Strings), Validierungs- und Verifikations-Workflow vor/nach jedem Deploy, Chrome-Test-Sicherheits- regel, Nachaudit-Pflicht nach größeren Batches. Spiegelt die ausführlichere Fassung im Vault (DogFather Website.md).
4.1 KiB
4.1 KiB
DOGFATHER UNIVERSE — Arbeitsanweisungen
Lies zuerst die ausführliche Projekt-Doku im Vault: DogFather Website.md und
DogFather Website - Offene Punkte.md (falls von dort aus zugreifbar). Dieses File ist die
kompakte, technische Checkliste für direkte Arbeit in diesem Ordner.
Perfektions-Anspruch (ausdrücklicher Wunsch, 02.08.2026)
Nicht nur das explizit Genannte umsetzen, sondern mitdenken und proaktiv vervollständigen — auch das, was der Nutzer vergisst zu erwähnen, aber offensichtlich zur Aufgabe gehört. Kontinuierlich verbessern, nicht nur einmalig abhaken. Bei jedem "Tagescheck" auch die eigene zuletzt geleistete Arbeit fachlich re-auditieren, nicht nur Uptime prüfen.
Vor jeder neuen Aufgabe kurz durchgehen
- i18n ist Pflicht bei jedem sichtbaren Text: alle 5 Sprachen sofort mitliefern — de,
de-CH (ECHTER Schweizerdeutscher Dialekt, nicht nur ß→ss), en, fr, pt. Gilt auch für Texte,
die nur per JS gesetzt werden (
window.dogiUebersetzen()/window.dogiFeld()inassets/js/main.jsnutzen), nicht nurdata-i18n-Attribute.- Bekannter Bug-Klassiker:
<h3>in Karten-Grids ohnedata-i18n(nur<p>darunter übersetzt) → gemischtsprachige Anzeige. Vor Abschluss IMMER:grep -noP '<h[1-4][^>]*>[^<]*</h[1-4]>' <seite>.html | grep -v data-i18n— jeden Treffer bewusst freigeben (Eigenname/dynamisch${...}) oder fixen.
- Bekannter Bug-Klassiker:
- Validieren vor jedem Deploy:
node --checkje geänderter.js, plus Key/Sprachen-Check:Mussnode -e " const fs=require('fs'); const html=fs.readFileSync('<seite>.html','utf8'); const keysInHtml=[...new Set([...html.matchAll(/data-i18n=\"([^\"]+)\"/g)].map(m=>m[1]))]; global.window = {}; eval(fs.readFileSync('assets/js/i18n-<seite>.js','utf8')); const dict = window.I18N_PAGE; let missingLang=[]; for(const k of keysInHtml){ for(const lang of ['de','de-CH','en','fr','pt']){ if(!dict[k] || !dict[k][lang]) missingLang.push(k+':'+lang); } } console.log('Keys HTML:', keysInHtml.length, 'Keys dict:', Object.keys(dict).length, 'Fehlende Sprachen:', missingLang); "Fehlende Sprachen: []zeigen. Bei HTML-Edits zusätzlich Tag-Balance prüfen (öffnende == schließendediv/section/a/p/h1-h3). - Nach jedem Deploy live verifizieren (nicht nur der "Success"-Meldung von
wranglerglauben): headless Chrome via CDP starten, Sprache umschalten, tatsächlichen Text auslesen. - Chrome-Testprozesse NIE mit
taskkill /F /IM chrome.exe— killt alle echten Chrome- Fenster des Nutzers. Immer nur per exakter PID oder--user-data-dir-Profilname gezielt beenden (z.B.Get-CimInstance Win32_Process -Filter "Name='chrome.exe'" | Where-Object { $_.CommandLine -match '<eindeutiger-profilname>' } | Stop-Process). - Wenn der Nutzer "Screen"/"screen" sagt, ist immer "Screenshot" gemeint.
- Nach Verifikation aufräumen: temporäre Dateien/Chrome-Profile entfernen.
- Nach größeren Batches (viele Seiten parallel via Subagenten): eigenständigen Nachaudit-Sweep über das GESAMTE Projekt fahren, nicht nur die zuletzt bearbeiteten Dateien — Fehler stecken erfahrungsgemäß auch in älteren, scheinbar fertigen Seiten (Muster/Konvention entstand erst später).
- Commit-Nachrichten immer auf Deutsch, präzise, mit Begründung ("warum", nicht nur "was").
Projekt-Fakten (Kurzfassung)
- Statisches HTML/CSS/Vanilla-JS, kein Build-Tool, kein Bundler.
- Deploy:
npx wrangler deployaus diesem Ordner (Cloudflare Workers Static Assets). - i18n-Engine in
assets/js/main.js:I18N_CORE(sitewide),window.I18N_PAGE(pro Seite ausassets/js/i18n-<seite>.js),t()/window.dogiUebersetzen()/window.dogiFeld(). - Personendaten (Scouts/Modis/Creator) in
assets/js/data-*.js— role/bio/bioHtml/intro/quote sind mehrsprachige Objekte{ de, "de-CH", en, fr, pt }, aufgelöst überwindow.dogiFeld(). - Nur Persona-Namen öffentlich (Dogfather/Dogi) — keine echten bürgerlichen Daten ohne ausdrückliche Freigabe.
- Fotos/Bilder nur nach expliziter Freigabe verwenden, nicht eigenständig in privaten Ordnern suchen.