Commit Graph

8 Commits

Author SHA1 Message Date
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
846fc04444 feat: i18n template infrastructure — render.sh reads _en vars, emits data-de/data-en
Phase 1 of i18n rollout:
- render.sh: i18n_attrs helper, reads *_en fields from site.yaml, emits
  data-de/data-en attributes on title, description, role, tagline, cta,
  tags, section titles, card titles/descriptions, bio, content
- base.html: i18n.js auto-included, title/description get i18n attrs
- All 6 templates: translatable elements get i18n attr placeholders,
  footer toggle button with machine-translation disclaimer
- ichbinotto.de pilot: added machine-translation disclaimer per m's request

Templated sites can now be translated by adding _en fields to site.yaml.
2026-04-01 12:49:34 +02:00
m
b9191b3495 feat: i18n pilot — shared JS snippet + ichbinotto.de translation
Add shared/i18n.js: client-side language detection snippet.
- Detects browser language via navigator.language
- Falls back to German, stores preference in localStorage
- Swaps text via data-de/data-en attributes on any element
- Handles <title>, <meta>, and regular elements
- Optional toggle button via data-i18n-toggle attribute
- Exposes window.onepagerI18n API for programmatic use

Pilot implementation on ichbinotto.de:
- All visible text annotated with data-de/data-en
- Language toggle button in footer
- Title and meta description translated

Implements Gitea issue #1 (pilot phase).
2026-04-01 12:34:22 +02:00
m
3c3cd131f3 fix: ichbinotto.de cards — 3 columns centered, max-width constrained
Cards were stretching full width with 4 columns (4+2 asymmetric).
Now 3 columns (2x3 grid), centered with 640px max-width.
2026-04-01 12:23:32 +02:00
m
14cbc09464 fix: Tracking statt Life-Tracking, nachts-um-eins raus 2026-03-30 20:34:55 +02:00
m
daebb8f83d refactor: ichbinotto.de — 6 saubere Bereiche statt 9 Tentacles 2026-03-30 20:32:57 +02:00
m
2a9c91bf63 feat: ichbinotto.de — agent handler role, sideKIck identity 2026-03-30 20:30:55 +02:00
m
1b8c137a2f feat: ichbinotto.de — sideKIck branding 2026-03-30 20:27:24 +02:00