Use les parents / l'enfant / impersonal constructions instead of
vous/votre/vos in pillar and news articles. Legal pages keep direct
address. Same editorial bar as the DE pass.
Removed redundant child-safety-map shortcode (static table duplicating
country-table). Now one map module (world-map) and one table (country-table).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sorted by country name by default. Clickable headers to sort by
law, age, status, or year. All 20 countries from countries.json.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
stats-banner + map stay at top, child-safety-map moved after EU section,
law-charts moved before What Parents Can Do. No longer grouped together.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove {{< vpn-cta >}} shortcode from all 3 language articles
(EN/DE/FR) — editorial VPN mentions kept intact. Footer now shows
"Powered by Agiliton VPN" linking to App Store, plus updated
copyright line.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add centralized data/countries.json with all 17 countries (EN/DE/FR)
- Add Leaflet choropleth world map with TopoJSON boundaries
- Add stats banner shortcode (enforced/passed/progress/guidelines counts)
- Add Chart.js charts (status donut, age limits bar, legislation timeline)
- Add Mermaid timeline of legislation milestones 2020-2026
- Refactor child-safety-map table to use data file (DRY)
- Update all 3 language articles (EN/DE/FR)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- French Hugo config (languages.fr.toml)
- All 6 content pages translated: homepage, about, imprint, privacy,
global overview article, France social media ban article
- Child-safety-map shortcode updated with French table + legend
- Nginx redirect updated to include /fr/ path
- CI smoke tests now verify /fr/ endpoint
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>