Christian Gick
4b68cf11cf
add tag cloud layout for /tags/ page
...
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 4s
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
New terms.html template renders tags as pills with article counts
instead of the generic list view with dates and read-more links.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 08:19:41 +03:00
Christian Gick
c8673ed77a
fix broken footer link: vpn-appstore -> vpn-app (404)
...
Deploy Internet for Kids / Build & Push (push) Successful in 14s
Deploy Internet for Kids / Deploy (push) Successful in 7s
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
Link check found go.agiliton.eu/vpn-appstore returns 404.
Correct URL is /vpn-app.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 08:14:41 +03:00
Christian Gick
1440c33fb3
spread charts across overview articles (EN/DE/FR)
...
Deploy Internet for Kids / Build & Push (push) Successful in 11s
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
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 >
2026-04-06 08:13:00 +03:00
Christian Gick
fdd7acb603
fix anchor scroll offset for sticky header
...
Deploy Internet for Kids / Build & Push (push) Successful in 15s
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
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 08:09:54 +03:00
Christian Gick
6105040538
fix CI: deploy on .md changes (content is the product)
...
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) 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
Removed **.md from paths-ignore -- content changes must deploy since
Hugo builds markdown into the site. Only docs/ and .session/ ignored.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 08:04:10 +03:00
Christian Gick
2cace245a5
trigger deploy for md-only changes
...
Deploy Internet for Kids / Build & Push (push) Successful in 13s
Deploy Internet for Kids / Health Check (push) Has been cancelled
Deploy Internet for Kids / Smoke Tests (push) Has been cancelled
Deploy Internet for Kids / IndexNow Ping (push) Has been cancelled
Deploy Internet for Kids / Promote to Latest (push) Has been cancelled
Deploy Internet for Kids / Rollback (push) Has been cancelled
Deploy Internet for Kids / Audit (push) Has been cancelled
Deploy Internet for Kids / Deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 08:03:50 +03:00
Christian Gick
28f0a8dbff
add founders vita to About pages, fix DE neutral tone
...
New Who We Are section: Wibke (journalist) and Christian (digital
entrepreneur), 25+ years expertise each, married ~20 years, two
children (10, 12). Laws are only part of the story -- tech needs
deep expertise but simple UX. DE neutral tone (no Sie/Ihre).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 08:02:09 +03:00
Christian Gick
92f767002b
header: always "Internet for Kids", homepage h1: localized subtitle
...
Deploy Internet for Kids / Build & Push (push) Successful in 11s
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
Header brand is now hardcoded English across all languages.
Homepage h1 uses subtitle from front matter:
- EN: Protecting Children in a Digital World
- DE: Kinderschutz in der digitalen Welt
- FR: Protéger les enfants dans un monde numérique
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 07:57:11 +03:00
Christian Gick
f62a39fc19
add prominent h1 title to homepage matching article style
...
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) 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 1s
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-06 07:54:09 +03:00
Christian Gick
0926be8e34
revert drop cap on homepage
...
Deploy Internet for Kids / Build & Push (push) Successful in 14s
Deploy Internet for Kids / Deploy (push) Successful in 7s
Deploy Internet for Kids / Health Check (push) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Has been cancelled
Deploy Internet for Kids / IndexNow Ping (push) Has been cancelled
Deploy Internet for Kids / Promote to Latest (push) Has been cancelled
Deploy Internet for Kids / Rollback (push) Has been cancelled
Deploy Internet for Kids / Audit (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 07:53:40 +03:00
Christian Gick
e6794491d9
add source links to all citations, fix DE to neutral tone (no Sie/Du)
...
Source links added for: Surgeon General advisory, Meta MYST study,
APA advisory, JAMA Psychiatry, Weill Cornell Medicine, World Happiness
Report, EU Commission DSA finding, Amnesty International. All 3 langs.
DE article rewritten to impersonal/neutral form — no Sie/Ihre in
parent advice section or crosslinks.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 07:50:40 +03:00
Christian Gick
7282f1a13b
fix map popup links: navigate to article section, not iframe anchor
...
Deploy Internet for Kids / Build & Push (push) Successful in 11s
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 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
Read more links in map popups now point to the full overview article URL
with anchor (e.g. /en/child-protection-laws-2026-global-overview/#germany)
instead of just #germany which triggered fullscreen in the iframe.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 07:34:50 +03:00
Christian Gick
b3f55a2b46
add drop cap on homepage intro first letter
...
Deploy Internet for Kids / Build & Push (push) Successful in 11s
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
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 07:33:57 +03:00
Christian Gick
8f3230a2d0
spread stat cards across article: one per section
...
Deploy Internet for Kids / Build & Push (push) Successful in 14s
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
- Bar chart: after intro (early viewport)
- 5h card: after "They Knew"
- 2-3x card: after bullet list in "The Numbers"
- 3h+ card: after "Courts Are Catching Up"
New single-card shortcode addiction-stat with num/color/label params.
Removed grouped addiction-impact and addiction-stats shortcodes.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 07:29:27 +03:00
Christian Gick
00a58bb212
split stats into chart + impact cards, spread across article
...
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) 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
Chart after intro (early viewport), impact stat cards after bullet list
in The Numbers section. Old combined shortcode replaced.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 07:27:13 +03:00
Christian Gick
a81e42c8e4
stack stats vertically: chart on top, 3 stat cards in a row below
...
Deploy Internet for Kids / Build & Push (push) Successful in 14s
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
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 07:23:40 +03:00
Christian Gick
c5817cada5
redesign stats: chart + stat cards, add crosslinks between articles
...
Deploy Internet for Kids / Build & Push (push) Successful in 11s
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 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Replace broken health impact chart (mixed units) with stat cards showing
5h avg, 2-3x risk, 3h+ threshold. Keep horizontal bar for percentages.
Add crosslinks at end of addiction article → global overview + France ban.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 07:21:41 +03:00
Christian Gick
a9854f3917
add addiction stats charts to The Numbers section (EN/DE/FR)
...
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
Two Chart.js visualizations: usage/addiction percentages (horizontal bar)
and health impact metrics. Multilingual labels. New shortcode:
addiction-stats.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 07:19:02 +03:00
Christian Gick
44149cee93
fix fact-checked claims: update MDL count to 2400+, remove unverified quote
...
- MDL lawsuit count: 1,745 (stale Apr 2025) → 2,400+ (Mar 2026)
- Katarina Barley quote: unverifiable, replaced with editorial summary
- Applied to all 3 languages
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 07:16:51 +03:00
Christian Gick
ed8d0b03a9
fix FAQ shortcode: use ~~~ separator, function-style split, trim whitespace
...
Deploy Internet for Kids / Build & Push (push) Successful in 14s
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 1s
Hugo strips --- (interprets as thematic break) from shortcode .Inner content.
Switch to ~~~ separator. Also fix split syntax (function-style instead of pipe)
and add trim to handle whitespace around items.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 07:14:13 +03:00
Christian Gick
25821ecb11
IFK-12: add tech addiction article (EN/DE/FR), fix Germany status
...
Deploy Internet for Kids / Build & Push (push) Successful in 14s
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
New article: How Tech Companies Turned Addiction Into a Business Model
- covers design patterns, lawsuits, EU DSA enforcement, stats
- all 3 languages with FAQ sections
Fix Germany in countries.json: status "enforced" → "guidelines"
(JuSchG is traditional youth protection with limited digital extension,
not dedicated social media regulation)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 07:01:14 +03:00
Christian Gick
6a0fb368f4
fix footer to single line: © 2026 Internet for Kids | Powered by Agiliton VPN
...
Deploy Internet for Kids / Build & Push (push) Successful in 10s
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 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
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-06 06:51:40 +03:00
Christian Gick
89e93ec8e7
remove VPN product CTA blocks, add powered-by footer
...
Deploy Internet for Kids / Build & Push (push) Successful in 26s
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 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
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 >
2026-04-06 06:48:35 +03:00
Christian Gick
f5f13cac4d
fix: show default MapLibreGL attribution instead of hidden custom one (CF-2872)
...
Deploy Internet for Kids / Build & Push (push) Successful in 13s
Deploy Internet for Kids / Deploy (push) Successful in 29s
Deploy Internet for Kids / Health Check (push) Successful in 3s
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
The previous implementation hid the default attribution control via
display:none and replaced it with a tiny 8px/0.6 opacity custom div.
Now uses the default MapLibreGL attribution which auto-renders the
proper "© OpenMapTiles © OpenStreetMap contributors" from tile metadata.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 20:16:47 +03:00
Christian Gick
80cfa8df4e
style: zoom out default, shift left
...
Deploy Internet for Kids / Build & Push (push) Successful in 15s
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 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
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 18:31:40 +03:00
Christian Gick
435c1bfe12
style: swap enforced/passed colors, add OSM attribution (legally required)
...
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) 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
Enforced = purple (darkest), Passed = dark blue.
Added small '© OpenStreetMap' link — required by ODbL license.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 18:12:24 +03:00
Christian Gick
e5ee29f1a9
style: replace OSM attribution with CLICKSPORTS Maps link
...
Deploy Internet for Kids / Build & Push (push) Successful in 10s
Deploy Internet for Kids / Deploy (push) Successful in 7s
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 1s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Same attribution pattern as held.de and other clicksports maps customers.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 18:06:57 +03:00
Christian Gick
6950f914e2
style: default view centered on world with all colored countries visible
...
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) 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 2s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 18:04:59 +03:00
Christian Gick
f4e45cf83f
style: enforced darkest color, smaller attribution, legend update
...
Deploy Internet for Kids / Build & Push (push) Successful in 14s
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) Has been cancelled
Deploy Internet for Kids / Rollback (push) Has been cancelled
Deploy Internet for Kids / Audit (push) Has been cancelled
Deploy Internet for Kids / IndexNow Ping (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 18:04:17 +03:00
Christian Gick
ccca7ae482
fix: interactive popups + maxZoom 4 + invisible hit layer
...
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) Successful in 2s
Deploy Internet for Kids / Smoke Tests (push) Successful in 3s
Deploy Internet for Kids / IndexNow Ping (push) Successful in 6s
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
Popup click/hover now uses invisible GeoJSON fill layer (raster layers
don't support events). MaxZoom capped at 4 to prevent blurry zoom.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 18:01:16 +03:00
Christian Gick
8e15d1aa0c
perf: reduce choropleth re-renders with 50% padding + bounds check
...
Deploy Internet for Kids / Build & Push (push) Successful in 11s
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
Only re-renders when viewport moves >30% outside pre-rendered area.
50% padding means most small pans stay within the existing image.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 17:59:03 +03:00
Christian Gick
882e9141fb
style: white land, gray sea, no roads/cities, country names zoom 3+
...
Deploy Internet for Kids / Build & Push (push) Successful in 14s
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 2s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 17:57:20 +03:00
Christian Gick
b1cc054df0
fix: render choropleth as single image overlay — eliminates all tile seams
...
Deploy Internet for Kids / Build & Push (push) Successful in 26s
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
GeoJSON sources are internally tiled by geojson-vt, causing seams at
tile boundaries during panning. Solution: pre-render the choropleth
to a canvas, convert to PNG data URL, and add as a MapLibre image
source. Single image = zero tiles = zero seams.
GeoJSON source kept invisible for hover/click hit testing.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 17:43:29 +03:00
Christian Gick
302a02eebd
fix: rename map variable to avoid DOM id collision, restore colors
...
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 6s
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
window.map was shadowed by div#map. Renamed to window._ifkMap.
Added error handling for choropleth data loading.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 17:11:07 +03:00
Christian Gick
e93f5593e2
fix: final map implementation — iframe + style.json + fill-antialias:false
...
Deploy Internet for Kids / Build & Push (push) Successful in 11s
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 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 1s
Three-part fix for retina tile seam artifacts:
1. iframe isolation from Hugo Tailwind CSS (box-sizing interference)
2. Use tileserver style.json URL (not inline style — different layer configs)
3. fill-antialias: false on choropleth layer
Shortcode is now a thin iframe wrapper. Map logic in static/map-embed.html.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 16:59:57 +03:00
Christian Gick
b2306f7f3e
fix: isolate map in iframe to prevent Tailwind CSS tile seam artifacts
...
Deploy Internet for Kids / Build & Push (push) Successful in 15s
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
Hugo's Tailwind CSS reset (box-sizing: border-box on *) interferes with
MapLibre GL's WebGL tile rendering, causing horizontal line artifacts
on retina displays. The iframe provides complete CSS isolation.
Map features: choropleth fills (fill-antialias: false), click popups
with law details, hover highlights, zoom/pan, fullscreen, i18n.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 16:44:34 +03:00
Christian Gick
4724820873
fix: eliminate map tile seam lines with fill-antialias: false
...
Deploy Internet for Kids / Build & Push (push) Successful in 15s
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
Root cause: MapLibre GL's fill-antialias (default true) anti-aliases
polygon edges differently on each side of internal tile boundaries,
creating visible 1px horizontal seams on retina displays.
Fix: set fill-antialias: false on the choropleth fill layer.
Switched back to MapLibre GL with clicksports vector tiles.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 16:29:33 +03:00
Christian Gick
60e63b8cd1
fix: use nonzero fill rule instead of evenodd
...
Deploy Internet for Kids / Build & Push (push) Successful in 11s
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
evenodd creates transparent stripes where polygon rings overlap at
certain latitudes. nonzero fills correctly regardless of ring overlap.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 13:24:04 +03:00
Christian Gick
89c8567dcc
fix: two-pass render - all countries as single white fill first
...
Deploy Internet for Kids / Build & Push (push) Successful in 16s
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
Canvas anti-aliasing creates semi-transparent edges between adjacent
polygons. Pass 1 draws ALL countries in one beginPath/fill call as
solid white - no seams possible. Pass 2 overdraws colored countries.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 13:22:11 +03:00
Christian Gick
64c71234ec
fix: remove land fill - gaps show ocean gray instead of white lines
...
Deploy Internet for Kids / Build & Push (push) Successful in 10s
Deploy Internet for Kids / Deploy (push) Successful in 7s
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
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 13:13:41 +03:00
Christian Gick
64c4a51b46
fix: eliminate alpha blending — use pre-blended solid colors
...
Deploy Internet for Kids / Build & Push (push) Successful in 11s
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 1s
The root cause of horizontal lines: globalAlpha 0.65 on country fills
creates visible seams where adjacent polygons don't perfectly overlap.
Sub-pixel gaps between polygons allow the white land fill to show
through at different brightness than the semi-transparent overlay.
Fix: pre-blend all status colors with white at 0.65 opacity and draw
at full opacity (globalAlpha=1). No alpha = no blending artifacts.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 13:09:46 +03:00
Christian Gick
a0fb62aa66
fix: convert canvas to static img + try 110m data
...
Deploy Internet for Kids / Build & Push (push) Successful in 13s
Deploy Internet for Kids / Deploy (push) Successful in 7s
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 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 2s
Canvas drawn once, converted to PNG data URL, displayed as <img>.
Also switched to 110m resolution to test if lines are data-related.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 12:08:05 +03:00
Christian Gick
a1b3263412
fix: willReadFrequently forces CPU-backed canvas, bypasses GPU tiling
...
Deploy Internet for Kids / Build & Push (push) Successful in 14s
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 2s
Deploy Internet for Kids / Rollback (push) Has been skipped
Deploy Internet for Kids / Audit (push) Successful in 1s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 11:24:56 +03:00
Christian Gick
42939db1b0
fix: remove overflow:hidden + border-radius to prevent GPU compositing layer
...
Deploy Internet for Kids / Build & Push (push) Successful in 14s
Deploy Internet for Kids / Deploy (push) Successful in 7s
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
These CSS properties force a separate compositing layer which the GPU
tiles internally, creating horizontal seam artifacts on retina displays.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 10:26:05 +03:00
Christian Gick
8061a23c87
fix: pure Canvas 2D renderer at exact device pixel dimensions
...
Deploy Internet for Kids / Build & Push (push) Successful in 14s
Deploy Internet for Kids / Deploy (push) Successful in 7s
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
Canvas renders as single bitmap at devicePixelRatio-matched dimensions.
No SVG, no CSS transforms, no GPU scaling = no compositor tile seams.
Full redraw on zoom/pan with canvas isPointInPath hit testing.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 10:19:35 +03:00
Christian Gick
82760e3263
fix: move ocean background to SVG element itself
...
Deploy Internet for Kids / Build & Push (push) Successful in 11s
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
GPU tile seams show parent container background through gaps. Moving
background to the SVG element puts it in the same compositing layer
as the path fills, so tile seams split both identically.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 10:08:50 +03:00
Christian Gick
82211ac5e4
fix: remove crispEdges - pixel snapping creates gaps between paths
...
Deploy Internet for Kids / Build & Push (push) Successful in 15s
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 / 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
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 10:06:10 +03:00
Christian Gick
65b2c757a4
fix: contain strict + land base fill to prevent GPU tile seams
...
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 / 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
contain: strict forces single compositing unit.
Land base fill covers polar gaps between country polygons.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 10:01:36 +03:00
Christian Gick
6a4e8dde05
fix: add shape-rendering crispEdges to prevent GPU tile seams in SVG
...
Deploy Internet for Kids / Build & Push (push) Successful in 14s
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
WebKit tiles large SVG elements for GPU rendering. Anti-aliasing at
tile boundaries creates different sub-pixel values on each side.
crispEdges disables anti-aliasing so both sides render identically.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 09:57:15 +03:00
Christian Gick
df2cb09a05
fix: replace Leaflet with pure SVG map to eliminate WebKit GPU seams
...
Deploy Internet for Kids / Build & Push (push) Successful in 21s
Deploy Internet for Kids / Deploy (push) Successful in 7s
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
WebKit Bug #156130 causes 1px gaps at translate3d boundaries on retina
displays. Both Leaflet and MapLibre use translate3d internally, making
the artifact unfixable from app code. Pure SVG with viewBox zoom/pan
has no translate3d, no tiling, no GPU compositor layers = no seams.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 09:50:05 +03:00