AI/KI disclosure footer for all sites #2

Open
opened 2026-04-01 10:51:53 +00:00 by mAi · 1 comment

Ziel

Jede Onepager-Site soll einen dezenten KI-Hinweis im Footer haben.

Ansatz

Same pattern wie impressum.js — selbstinjizierendes Script mit data-Attributen:

<script src="/shared/ai-disclosure.js" data-tone="playful"></script>

Tones

Tone DE EN
minimal KI-unterstützt AI-assisted
serious Diese Seite wurde mit Unterstützung von KI erstellt. This site was created with AI assistance.
playful Mit KI gemacht (keine KI wurde verletzt) Made with AI (no AIs were harmed)
  • Alle verlinken auf msbls.de/ki
  • Sprache wird aus document.documentElement.lang gelesen (i18n-kompatibel)
  • DE = KI, EN = AI — kein Mischen

site.yaml

disclosure:
  tone: playful  # playful | serious | minimal | none

Abhängigkeit

  • i18n rollout (#1) sollte zuerst fertig sein
  • msbls.de/ki Seite separat (anderes Projekt)
## Ziel Jede Onepager-Site soll einen dezenten KI-Hinweis im Footer haben. ## Ansatz Same pattern wie impressum.js — selbstinjizierendes Script mit data-Attributen: ```html <script src="/shared/ai-disclosure.js" data-tone="playful"></script> ``` ### Tones | Tone | DE | EN | |------|----|----| | minimal | KI-unterstützt | AI-assisted | | serious | Diese Seite wurde mit Unterstützung von KI erstellt. | This site was created with AI assistance. | | playful | Mit KI gemacht (keine KI wurde verletzt) | Made with AI (no AIs were harmed) | - Alle verlinken auf msbls.de/ki - Sprache wird aus document.documentElement.lang gelesen (i18n-kompatibel) - DE = KI, EN = AI — kein Mischen ### site.yaml ```yaml disclosure: tone: playful # playful | serious | minimal | none ``` ## Abhängigkeit - i18n rollout (#1) sollte zuerst fertig sein - msbls.de/ki Seite separat (anderes Projekt)
Author

Branch: mai/knuth/ai-ki-disclosure-footer
Commit: 84b28d6
Status: Implementation complete, build passes

What was done

  1. shared/ai-disclosure.js — self-injecting script (same pattern as impressum.js)

    • data-tone attribute: playful | serious | minimal | none
    • Reads document.documentElement.lang for KI (de) vs AI (en)
    • MutationObserver on lang attr for i18n toggle compatibility
    • All tones link to msbls.de/ki
    • Subtle styling: 0.65rem, opacity 0.4, appends to footer
  2. All 54 custom sites — injected disclosure script with data-tone="playful" before i18n.js

  3. Template infra (forward-looking, all sites are currently custom):

    • templates/base.html — includes disclosure script with {{disclosure_tone}} placeholder
    • render.sh — reads disclosure.tone from site.yaml (defaults to minimal)
  4. site.yaml schemadisclosure.tone added to 3 example sites

Skipped

  • dasbes.de, dumusst.com — no index.html (dynamic sites)

Ready for

  • Review + merge by head
## Checkpoint: AI/KI disclosure footer — shift-1 **Branch:** `mai/knuth/ai-ki-disclosure-footer` **Commit:** `84b28d6` **Status:** Implementation complete, build passes ### What was done 1. **`shared/ai-disclosure.js`** — self-injecting script (same pattern as impressum.js) - `data-tone` attribute: `playful` | `serious` | `minimal` | `none` - Reads `document.documentElement.lang` for KI (de) vs AI (en) - MutationObserver on lang attr for i18n toggle compatibility - All tones link to `msbls.de/ki` - Subtle styling: 0.65rem, opacity 0.4, appends to footer 2. **All 54 custom sites** — injected disclosure script with `data-tone="playful"` before i18n.js 3. **Template infra** (forward-looking, all sites are currently custom): - `templates/base.html` — includes disclosure script with `{{disclosure_tone}}` placeholder - `render.sh` — reads `disclosure.tone` from site.yaml (defaults to `minimal`) 4. **site.yaml schema** — `disclosure.tone` added to 3 example sites ### Skipped - `dasbes.de`, `dumusst.com` — no index.html (dynamic sites) ### Ready for - Review + merge by head
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: m/onepager#2
No description provided.