Commit Graph

8 Commits

Author SHA1 Message Date
mAi
a06a94ff58 feat: #13 Light/Dark + EN/DE Toggle — Shift-2 Rollout
Rollout des Toggle-Patterns auf alle 57 statischen Sites (dasbes.de + dumusst.com sind dynamic, kein index.html).

1. **Bulk-Wiring (53 Sites)** via tools/patch-theme.py:
   - Anti-FOUC inline IIFE im <head> (vor erstem Paint)
   - <link rel="stylesheet" href="/shared/css/theme.css">
   - <script src="/shared/theme.js"> + toggles.js (i18n.js bleibt, hängt sich ans neue Widget)

2. **Per-Site Light-Overrides (14 Sites)** via tools/patch-light-overrides.py:
   - 6034, allainallain, commanderkin, hallofraumaier, heygoldi, keinefreun, lexsiebels, machesdocheinfach, matthiasbreier, orakil, osterai, patentonkel, traihard, wartebitte
   - Pro Site nur die failing accent-vars darkened (--green-dim, --text-faint, --warm-dim, --gold-dim, etc.)
   - AA 4.5:1+ auf white bg gesichert; Brand-Akzent erhalten

3. **data-theme-lock="dark" (4 Sites)** auf <html>:
   - kilibri, killusion, killionaer, killuminati
   - Aesthetisch dark-only — toggles.js blendet Theme-Button automatisch aus, Lang-Button bleibt

4. **Footer-Toggle Removal (52 Sites)** via tools/remove-footer-toggle.py:
   - Bestehende footer [data-i18n-toggle] Buttons entfernt — top-right widget übernimmt
   - Disclaimer-Information in tooltip des neuen Buttons + ai-disclosure.js footer

QA:
- ./build.sh: 59/59 sites built clean
- contrast-audit.py --both: 0/59 dark fail, 0/59 light fail
- anti-ai-lint: 0/57 sites flagged

Tools committed (idempotent, für Wiederverwendung):
- tools/patch-theme.py (--all wired alle Sites)
- tools/patch-light-overrides.py (per-site OVERRIDES dict)
- tools/remove-footer-toggle.py (4 Patterns für versch. Footer-Strukturen)
2026-05-08 11:16:15 +02:00
mAi
b6d23f6d99 fix: #12 lift sub-WCAG-AA text colors on 33 dark-bg sites
Replaces FAIL-level (<3:1) and WEAK (<4.5:1) --text-muted/--text-dim/
--text-faint/--text-dimmer/--accent-dim/--gold-dim values across all
33 affected sites. Targets: text-muted >=4.6:1 (WCAG AA),
text-dim/text-faint >=7:1 (WCAG AAA).

Shared palette pattern (15 sites: deinesei, fragina, ichbinaufbali,
ichbinaufbarley, insain, kainstress, kinowhow, knzlmgmt, kopffrai,
legalais, martinsiebels, schulfrai, smartin3, sorgenfrai, vonschraitter):
  --text-muted #44444f -> #7a7a8e (2.06 -> 4.71)
  --text-dim   #6e6e7a -> #9a9aab (3.93 -> 7.14)

Otto/mai-otto pattern (purple-tinted): #404068 -> #7373bb,
#7070a0 -> #9797d8.

Per-site fixes for kainco, kainefrage, kilitaer (olive), killegal,
killionaer, killuminati, killusion, killions, orakil (warm),
paragraphenraiter (gold), keinefreun, julietensity, billableaua,
allaisonme, allainallain, slopschild — each preserves its tint while
crossing the AA threshold.

Audit before: 31 FAIL, 2 WEAK / 33 sites flagged.
Audit after:  0 FAIL, 0 WEAK / 0 sites flagged.

Adds tools/contrast-audit.py (lifted from /tmp) so future edits can
re-run the regression check from the repo.
2026-05-07 16:48:37 +02:00
m
84b28d64f5 feat: AI/KI disclosure footer — shared/ai-disclosure.js + all 54 sites
Self-injecting script following impressum.js pattern:
- data-tone attribute: playful | serious | minimal | none
- Reads document.documentElement.lang for KI (de) vs AI (en)
- MutationObserver on lang attr for i18n toggle compat
- All tones link to msbls.de/ki
- Injected into all 54 custom sites with data-tone="playful"
- Template infra: base.html includes script, render.sh reads disclosure.tone
- disclosure.tone added to 3 example site.yaml files

Implements m/onepager#2
2026-04-01 13:26:04 +02:00
m
5c92a7b021 feat: i18n annotations — data-de/data-en + toggle for all 54 custom sites
Phase 2 of i18n rollout:
- All 54 static custom sites now have data-de/data-en attributes on
  visible text elements with English translations
- i18n.js script tag injected into all sites
- Language toggle button with machine-translation disclaimer added
  to every site's footer area
- Brand names / domain wordplay preserved unchanged in both languages
- 2 dynamic sites (dasbes.de, dumusst.com) skipped — no static HTML
2026-04-01 13:19:40 +02:00
m
c963293761 fix: Only God can judge AI. 2026-03-30 16:22:52 +02:00
m
6649678e9d feat: subtle 2pac reference in allaisonme.com footer 2026-03-30 16:22:15 +02:00
m
3b1f094f22 fix: allaisonme.com mobile view — constrain header and hero glow 2026-03-30 15:23:57 +02:00
m
ea8e3cdd96 feat: add allaisonme.com — AI Optimization landing page 2026-03-29 23:21:25 +02:00