Commit Graph

40 Commits

Author SHA1 Message Date
Christian Gick
6ac5412493 Merge branch 'session/CF-2812' of http://gitea.agiliton.internal:3000/christian/internetforkids
Some checks failed
Deploy Internet for Kids / Build & Push (push) Successful in 17s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / IndexNow Ping (push) Successful in 7s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Has been cancelled
2026-04-03 13:53:45 +03:00
Christian Gick
e732b9d96e fix: nav menu, language dropdown, sidebar TOC + recent articles
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:53:27 +03:00
Christian Gick
7ff71c99eb fix: remove stale Congo theme + research docs
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 9s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 1s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / IndexNow Ping (push) Successful in 8s
Deploy Internet for Kids / Promote to Latest (push) Successful in 1s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 1s
Congo submodule was re-added accidentally, overriding custom layouts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:50:19 +03:00
Christian Gick
42d5c51473 fix: restore nav menu, language dropdown, sidebar with TOC + articles
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 18s
Deploy Internet for Kids / Deploy (push) Successful in 5s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / IndexNow Ping (push) Successful in 7s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
- Nav shows About + Topics links again
- Language switcher is a proper dropdown (current lang + translations)
- Article sidebar with sticky TOC + recent articles list
- Wider content area (64rem) with 240px sidebar
- Responsive: sidebar hidden on mobile

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:47:05 +03:00
Christian Gick
18dc7ae66f feat(IFK-11): migrate from Congo to HugoBlox with custom layouts
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 12s
Deploy Internet for Kids / Deploy (push) Successful in 5s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / IndexNow Ping (push) Successful in 9s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
- Remove Congo theme submodule, add Hugo modules (blox-core)
- Custom baseof/single/home/list layouts (no Tailwind build needed)
- Newsreader serif font preserved throughout
- Agiliton lime/emerald brand colors
- All 7 shortcodes preserved (world-map, charts, stats, etc.)
- Multilingual EN/DE/FR with i18n files
- Self-hosted fonts, no external CSS dependencies
- Wide content layout, clean research-publication aesthetic

Reference: metaconscious.org, matteocourthoud.github.io

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:40:21 +03:00
Christian Gick
ec370d2d7e feat: increase font sizes throughout
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 9s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / IndexNow Ping (push) Successful in 8s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
H1: 2.75rem, body: 22px/36px, H2: 1.85rem, H3: 1.5rem,
blockquotes: 24px, tables: 18px, nav/TOC: larger.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:14:39 +03:00
Christian Gick
b517af5c2f feat: self-host Newsreader font, remove Google Fonts CDN
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 13s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / IndexNow Ping (push) Successful in 7s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Local woff2 files for latin + latin-ext (DE/FR support).
No external font requests for privacy/GDPR compliance.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:07:32 +03:00
Christian Gick
852640a574 feat: Newsreader serif typography + Agiliton brand colors
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 13s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / IndexNow Ping (push) Successful in 7s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
- Add Newsreader font (darioamodei.com-inspired literary serif)
- Warm light background (#fafaf9) with Agiliton lime/emerald accents
- 20px body text, 32px line-height for research publication feel
- Sans-serif UI elements (nav, tags, TOC) for contrast
- 800px max content width for focused reading
- Status badges updated to green palette

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:01:03 +03:00
Christian Gick
09a11520e8 fix: use OSM raster tiles for world map (clicksports vector tiles 503)
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 13s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / IndexNow Ping (push) Successful in 8s
Deploy Internet for Kids / Promote to Latest (push) Successful in 1s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
maps.clicksports.de vector tile style.json returns 503 on render.
Fall back to OSM raster tiles until tile server is fixed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 12:39:45 +03:00
Christian Gick
df72e6aaba feat: switch world map to MapLibre GL + clicksports vector tiles
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 13s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / IndexNow Ping (push) Successful in 7s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Replace Leaflet+OSM with MapLibre GL JS consuming vector tiles
from maps.clicksports.de (TileServer GL). Choropleth overlay via
TopoJSON remains the same.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 12:08:28 +03:00
Christian Gick
308034e40d feat(IFK-9): interactive world map, charts, stats banner, timeline
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 9s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 4s
Deploy Internet for Kids / IndexNow Ping (push) Successful in 8s
Deploy Internet for Kids / Promote to Latest (push) Successful in 1s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
- 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>
2026-04-03 12:03:02 +03:00
Christian Gick
5e76d8745a feat: SEO improvements — related content, IndexNow, manifest, llms.txt
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 13s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 2s
Deploy Internet for Kids / IndexNow Ping (push) Successful in 7s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 3s
- Enable showRelatedContent + showSummary in article config
- Add IndexNow ping step to CI deploy pipeline
- Fix site.webmanifest branding (was Congo, now Internet for Kids)
- Update llms.txt to include French language section

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:41:07 +03:00
Christian Gick
2dfc9ed8bd fix: language switch losing prefix + SSL redirect scheme
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 9s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Menu links used url= which doesn't prepend language prefix.
Changed to pageRef= which resolves per-language correctly.

Also fixed root redirect using http:// instead of https://
by reading X-Forwarded-Proto from gateway proxy.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:08:36 +03:00
Christian Gick
b6951ec29d feat: migrate domain from internetforkids.ong to internetforkids.org
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 12s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 1s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 09:10:50 +03:00
Christian Gick
99350eef8a fix: exclude BingSiteAuth.xml from language redirect
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 9s
Deploy Internet for Kids / Deploy (push) Successful in 7s
Deploy Internet for Kids / Health Check (push) Successful in 1s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 08:47:24 +03:00
Christian Gick
c7376db2cb feat: add Bing Webmaster Tools verification XML
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 14s
Deploy Internet for Kids / Deploy (push) Successful in 12s
Deploy Internet for Kids / Health Check (push) Successful in 7s
Deploy Internet for Kids / Smoke Tests (push) Successful in 9s
Deploy Internet for Kids / Promote to Latest (push) Successful in 4s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Auth code: 7B8CDCFD8FC8D5E226BD9E01CEE80814

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 08:45:55 +03:00
Christian Gick
ba41263e48 fix: rename VPN redirect path to /vpn-app
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 9s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 08:10:32 +03:00
Christian Gick
9da67f3457 fix: update VPN CTA links to go.agiliton.eu/vpn redirect service
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 12s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / Promote to Latest (push) Successful in 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Replaces broken agiliton.eu/vpn links with tracked redirect via
go.agiliton.eu, which fires Rybbit analytics before forwarding
to the App Store.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 07:19:37 +03:00
Christian Gick
05a648b096 fix: promote :latest only after health+smoke checks pass
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 12s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / Promote to Latest (push) Successful in 1s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Previously, :latest was pushed during build before any validation.
If health checks failed, rollback restored locally but Watchtower
re-pulled the broken :latest from registry, undoing the rollback.

Now: build pushes only SHA tag, deploy uses SHA tag locally,
new promote job pushes :latest only after smoke tests pass.
Rollback also pushes restored image as :latest to registry.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 07:06:25 +03:00
Christian Gick
19c720b55f fix: quote nginx regex to prevent brace parsing as block delimiter
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 20s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
The {32} quantifier in the language redirect regex was being consumed
by nginx's config parser as a block delimiter, truncating the pattern
and causing pcre2_compile to fail with missing closing parenthesis.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 06:58:33 +03:00
Christian Gick
9bba0b4787 fix: exclude IndexNow/verification key files from language redirect
Some checks failed
Deploy Internet for Kids / Build & Push (push) Successful in 10s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Failing after 1m4s
Deploy Internet for Kids / Smoke Tests (push) Has been skipped
Deploy Internet for Kids / Rollback (push) Successful in 13s
Deploy Internet for Kids / Audit (push) Successful in 2s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:26:18 +03:00
Christian Gick
940dfb0c36 feat: add IndexNow key for search engine indexing
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 12s
Deploy Internet for Kids / Deploy (push) Successful in 5s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Enables instant URL submission to Bing, Yandex, and other
IndexNow-supporting search engines.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:24:58 +03:00
Christian Gick
555f84fea5 fix: hide date/reading time/author on static pages
About, privacy, and imprint pages showed "1 January 0001" because
they have no date frontmatter. Disabled showDate, showReadingTime,
showAuthor on all static pages across EN/DE/FR.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:13:27 +03:00
Christian Gick
2f7e3fce59 fix: exclude robots.txt and index.xml from language redirect
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 9s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 1s
Search engines need direct access to /robots.txt and /sitemap.xml.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:11:44 +03:00
Christian Gick
21af166c06 feat: add French language support with all article translations
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 13s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 3s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
- 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>
2026-04-02 21:10:17 +03:00
Christian Gick
5fe5ed2aed fix: exclude /health from language redirect
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 8s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:02:04 +03:00
Christian Gick
ff9f6c1b7f ci: proper Agiliton deployment with health checks, rollback, smoke tests
All checks were successful
Deploy Internet for Kids / Build & Push (push) Successful in 33s
Deploy Internet for Kids / Deploy (push) Successful in 6s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
- docker-compose.yml in repo (replaces inline generation in CI)
- /health nginx endpoint for container health checks
- HEALTHCHECK directive in Dockerfile
- CI pipeline: build → deploy → health check → smoke test → rollback on failure
- Smoke tests verify /health, /en/, /de/ after deploy
- Automatic rollback to previous image on health/smoke failure
- workflow_dispatch with force_deploy option
- Deploy-guard audit logging

IFK-6

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 21:00:34 +03:00
Christian Gick
8da917618a fix: redirect unprefixed paths to /en/ default language
All checks were successful
Build & Deploy / build-and-deploy (push) Successful in 13s
/about/ and /tags/ were 404ing after Docker migration since the
redirect rule was previously in the gateway nginx config.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 20:50:40 +03:00
Christian Gick
61cbbc7844 ci: add Gitea Actions workflow for auto build+deploy
All checks were successful
Build & Deploy / build-and-deploy (push) Successful in 14s
Docker build on push to main, deploy to infra VM on port 3006.
Gateway nginx updated to proxy internetforkids.ong → infra:3006.

IFK-6

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 19:20:54 +03:00
Christian Gick
4d6788bd76 feat: add legislation table to homepage, update France entry
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:21:07 +03:00
Christian Gick
789e07d0c9 feat: new article — France votes to ban social media for under-15s (EN/DE)
Based on Die Zeit/AFP reporting from April 1, 2026. Covers Senate vote,
Arcom blacklist system, timeline, comparison with Australia.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:20:11 +03:00
Christian Gick
373d69dd91 fix: correct company details — Agiliton Ltd. (Cyprus), add phone number
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:17:31 +03:00
Christian Gick
8702b5b8ad fix: replace buggy JS map with clean responsive table
- No more external CDN dependencies (jsdelivr)
- Fully bilingual EN/DE table with country flags
- Color-coded status badges
- Mobile-responsive
- Consistent with privacy policy (no external resources)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:15:09 +03:00
Christian Gick
22645f8d7a feat: add local Impressum + Datenschutz pages, no cookies/external fonts
- Imprint and Privacy Policy pages in EN/DE with translationKey
- Footer links now point to local pages instead of agiliton.eu
- Privacy policy documents: no cookies, no external fonts, Rybbit self-hosted

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:13:58 +03:00
Christian Gick
fad2b0ed1c feat: add language switcher to header nav
Uses Congo built-in locale action menu item.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:11:50 +03:00
Christian Gick
bc28774be9 fix: add contentDir, footer legal links (Impressum + Datenschutz)
- Restore contentDir for EN/DE (lost in config migration)
- Fixes /about/ 404 and DE content nesting under /en/
- Add Impressum + Datenschutzerklärung footer links to agiliton.eu

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 18:04:22 +03:00
Christian Gick
88961e4555 style: enhance Congo theme — profile layout, richer homepage, author info
- Switch to profile homepage layout with author headline and bio
- Richer homepage content with topic overview (EN/DE)
- Show taxonomies on articles and lists
- Configure header, footer, scroll-to-top
- Remove theme attribution from footer

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 17:11:32 +03:00
Christian Gick
913f047032 feat: switch from PaperMod to Congo theme
- Warm avocado color scheme, light mode default — friendly for families
- Congo language configs in config/_default/languages.{en,de}.toml
- Renamed extend partials to Congo convention (hyphens)
- Override warnings.html for Hugo 0.159 compatibility (.Author removed)
- All shortcodes and custom partials preserved

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:05:24 +03:00
Christian Gick
57bad97639 feat: switch to PaperMod theme, add Rybbit analytics, CI/CD deploy
- Replace ananke with PaperMod theme (git submodule)
- Configure PaperMod: reading time, breadcrumbs, search, dark mode
- Localize menus for EN/DE
- Register internetforkids.ong in Rybbit (site ID: a0ab05916d6c)
- Migrate partials from ananke _partials/ to PaperMod extend_head/footer
- Set up webhook-based auto-deploy on push to main

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 14:12:57 +03:00
Christian Gick
bdd2da36d5 feat: initial Hugo blog for internetforkids.ong
Child safety marketing blog with:
- First article: Global Child Protection Laws 2026 (EN/DE)
- Interactive world map (17 countries, TopoJSON)
- SEO: JSON-LD, OpenGraph, hreflang, canonical URLs
- AI search: robots.txt, llms.txt, FAQ sections
- VPN CTA shortcode, about pages, tag taxonomy
- Rybbit analytics partial (site ID TBD)
- Dockerfile + nginx.conf for deployment

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 06:58:49 +03:00