Compare commits

...
5 Commits
Author SHA1 Message Date
valknarandClaude Sonnet 4.6 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
valknarandClaude Sonnet 4.6 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
valknarandClaude Sonnet 4.6 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
valknarandClaude Sonnet 4.6 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
9 changed files with 56 additions and 1 deletions
+31
View File
@@ -577,6 +577,37 @@
animation: glitch-clip 2.5s steps(1) infinite;
}
/* ── Nav & footer link hover polish ─────────────────────────── */
/* Desktop nav links — lift + glow on hover */
header nav a.label {
transition: color 0.2s var(--ease-sharp), transform 0.2s var(--ease-out-expo);
}
header nav a.label:hover {
transform: translateY(-1px);
}
/* Active underline — smooth width via transition */
header nav a.label span {
transition: width 0.35s var(--ease-out-expo);
}
/* Footer links — subtle lift */
footer nav a.label {
transition: color 0.2s var(--ease-sharp), transform 0.2s var(--ease-out-expo);
}
footer nav a.label:hover {
transform: translateY(-1px);
}
/* Footer social links — icon nudges on hover */
footer nav a.label svg {
transition: transform 0.2s var(--ease-out-expo);
}
footer nav a.label:hover svg {
transform: translate(1px, -1px);
}
/* ── View Transitions ────────────────────────────────────────── */
::view-transition-old(main-content) {
animation: 160ms var(--ease-sharp) both page-out;
+6 -1
View File
@@ -69,6 +69,11 @@
{{- end -}}
<link rel="stylesheet" href="{{ $css.RelPermalink }}"{{ if eq hugo.Environment "production" }} integrity="{{ $css.Data.Integrity }}"{{ end }}>
<!-- Favicon -->
<!-- Favicon & PWA -->
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="manifest" href="/site.webmanifest">
<meta name="msapplication-TileColor" content="#050510">
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 848 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

+19
View File
@@ -0,0 +1,19 @@
{
"name": "Pivoine.Art",
"short_name": "Pivoine",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#FF1A8C",
"background_color": "#050510",
"display": "standalone"
}