Commit Graph

10 Commits

Author SHA1 Message Date
valknar d1ce2e7eb3 docs: add comprehensive README
Covers stack, getting started, project structure, content model
(posts + authors), image processing pipeline, design system
(tokens, typography, components), templates, HTMX/Alpine
interactivity, SEO, Docker/nginx/Traefik deployment, and
content authoring workflow.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 11:06:55 +02:00
valknar 84624fec33 fix: add X-Robots-Tag: index, follow to nginx to allow crawling
Lighthouse reported is-crawlable FAIL because the server was sending
X-Robots-Tag: none,noarchive,... (likely injected by Traefik/Coolify
security-headers middleware). Explicitly declare the correct value here;
override via Traefik label also documented below.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 19:14:00 +02:00
valknar 36767c3d4d perf: Hugo image processing — auto-convert all images to WebP with srcset
Add layouts/partials/img.html helper that resizes and converts any Hugo
page-resource image to WebP, emitting a responsive srcset at multiple
widths. Wire it up to every image rendering site:

- post-card.html: thumbnail (600w/1000w) + avatar (64px WebP)
- post-card-large.html: featured card background (800w/1200w)
- posts/single.html: banner (1200w/1800w, eager) + gallery (800w/1200w)
- author-card.html: avatar (96px WebP, 2× retina)

Result: banner.png 7.9 MB → 496 KB WebP at 1800w (−94 %).
Hugo caches processed images in resources/_gen/ across builds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 19:12:06 +02:00
valknar 9af45979f1 fix: address Lighthouse SEO and performance audit failures
- nav: fix label-content-name-mismatch — aria-label now uses logoText
  ("PIVOINE") to match the visible link text (WCAG 2.5.3)
- index: improve link-text — "Learn more" → "About the magazine"
  so the /about/ CTA has a descriptive accessible name
- head: load Google Fonts async via media=print/onload pattern to
  eliminate render-blocking resource penalty (~480ms est. savings)

Remaining items needing server-side action:
- is-crawlable: x-robots-tag: none,... header must be removed in the
  web server / CDN config (not controllable from this repo)
- image-delivery: large banner PNGs on live site need manual WebP
  conversion or migration to Hugo page bundles for auto-processing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 19:07:10 +02:00
valknar 3b8e1f7a1f feat: add PWA and favicon assets
apple-touch-icon, android-chrome icons (192/512), PNG favicons
(16/32), ICO fallback, and site.webmanifest with heat theme color.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 18:48:41 +02:00
valknar e57a15f733 polish: CSS-only hover transitions for nav and footer links
Adds translateY lift and smoother easing on hover for desktop nav,
footer nav, and social links. Active underline gets expo easing.
No markup changes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 18:45:57 +02:00
valknar 00ee9e15ed Revert "polish: smooth hover transitions on nav and footer links"
This reverts commit d967dd261a.
2026-04-10 18:44:15 +02:00
valknar d967dd261a polish: smooth hover transitions on nav and footer links
- Desktop nav: underline uses scaleX transform (origin-left) instead of
  width, now shows on hover for inactive links too
- Mobile nav: link text slides translateX on hover for directional feel
- Footer nav: matching scaleX underline on hover
- Footer social: external arrow icon nudges diagonally on hover

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 18:38:14 +02:00
valknar 245a8e614d feat: add full favicon & PWA meta tags to head
Adds apple-touch-icon, PNG favicons, webmanifest link, and
msapplication-TileColor; existing SVG/ICO fallbacks retained.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 17:46:36 +02:00
valknar cd1ff989d0 Initial commit 2026-04-08 19:49:15 +02:00