From ca6ba2eb511ae969e814e7a8017fd90550e23f1c Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Thu, 28 May 2026 16:58:04 +0100 Subject: [PATCH] Shorten descriptions --- src/components/PostMediaFigure.astro | 2 +- src/components/PostThumbnail.astro | 2 +- src/content.config.ts | 2 +- src/content/posts/fizika-erettsegi-practice-app.md | 2 +- src/content/posts/frame-eink-photo-display.md | 2 +- src/content/posts/graph-editor-javafx-simulation-input.md | 2 +- src/content/posts/nuclear-cooling-simulation.md | 2 +- src/content/posts/perfect-postcode-rust-property-server.md | 2 +- src/content/posts/platform-game-c-sdl.md | 2 +- src/content/posts/reconcile-text-3-way-merge.md | 2 +- src/content/posts/sdf-2d-ray-tracing.md | 2 +- src/content/posts/vault-link-obsidian-sync.md | 2 +- src/styles/global.css | 6 +++--- 13 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/components/PostMediaFigure.astro b/src/components/PostMediaFigure.astro index 92be80f..706003c 100644 --- a/src/components/PostMediaFigure.astro +++ b/src/components/PostMediaFigure.astro @@ -61,7 +61,7 @@ const videoHeight = item.type === 'video' ? (item.poster?.height ?? 720) : undef src={item.src} alt={item.decorative ? '' : (item.alt ?? '')} formats={['avif', 'webp']} - widths={[480, 720, 960, 1280, 1600, 1920]} + widths={[480, 960, 1280, 1920]} sizes="(max-width: 700px) calc(100vw - 2 * clamp(20px, 4vw, 32px)), (max-width: 1100px) min(calc(100vw - 4rem), 56rem), 56rem" quality="high" loading="lazy" diff --git a/src/components/PostThumbnail.astro b/src/components/PostThumbnail.astro index 7d53b01..7723e23 100644 --- a/src/components/PostThumbnail.astro +++ b/src/components/PostThumbnail.astro @@ -65,7 +65,7 @@ for (const root of document.querySelectorAll('.post-thumbnail--iframe')) { alt={post.data.thumbnail.alt} formats={['avif', 'webp']} fallbackFormat="jpg" - widths={[640, 960, 1280, 1600, 1920]} + widths={[640, 960, 1280, 1920]} sizes="(max-width: 700px) calc(100vw - 3rem), (max-width: 1100px) calc(100vw - 4rem), 56rem" quality="high" loading="eager" diff --git a/src/content.config.ts b/src/content.config.ts index 24a62d4..a1a59e8 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -50,7 +50,7 @@ const linkSchema = z.object({ const thumbnailSchema = ({ image }: SchemaContext) => z.object({ src: image(), - alt: z.string(), + alt: z.string().min(1, 'Thumbnail alt text must not be empty.'), }); const mediaSchema = ({ image }: SchemaContext) => diff --git a/src/content/posts/fizika-erettsegi-practice-app.md b/src/content/posts/fizika-erettsegi-practice-app.md index d6ae5e5..6149ca5 100644 --- a/src/content/posts/fizika-erettsegi-practice-app.md +++ b/src/content/posts/fizika-erettsegi-practice-app.md @@ -1,6 +1,6 @@ --- title: A Physics Practice App for the Hungarian Érettségi -description: A static jQuery site I built in high school to drill past exam questions. 659 questions, more than a decade of past papers, still online and still used. +description: A static jQuery site I built in high school to drill past exam questions. 659 questions, a decade of past papers, still online and still used. date: 2026-05-28 projectPeriod: '2017-2018' thumbnail: diff --git a/src/content/posts/frame-eink-photo-display.md b/src/content/posts/frame-eink-photo-display.md index 9328550..2be63ea 100644 --- a/src/content/posts/frame-eink-photo-display.md +++ b/src/content/posts/frame-eink-photo-display.md @@ -1,6 +1,6 @@ --- title: An E-Ink Photo Frame That Sleeps When the House Is Empty -description: A Pi, a 6-colour e-ink panel, and a self-hosted Immich library. Photos chosen by date and favourites, gated on Home Assistant presence, dithered with Atkinson. +description: A Pi, a 6-colour e-ink panel, and a self-hosted Immich library. Photos picked by date and favourites, gated on Home Assistant presence, Atkinson-dithered. date: 2026-05-27 projectPeriod: '2026' thumbnail: diff --git a/src/content/posts/graph-editor-javafx-simulation-input.md b/src/content/posts/graph-editor-javafx-simulation-input.md index 06a67c0..1d9a479 100644 --- a/src/content/posts/graph-editor-javafx-simulation-input.md +++ b/src/content/posts/graph-editor-javafx-simulation-input.md @@ -1,6 +1,6 @@ --- title: A JavaFX Editor for the Cooling Simulator -description: The companion editor for the cooling-system sim. Drag-and-drop graph layout, JSON export, upload-to-backend. Small tool, mattered more than I expected. +description: Companion editor for the cooling-system sim. Drag-and-drop graph layout, JSON export, upload-to-backend. Small tool, mattered more than I expected. date: 2026-04-25 projectPeriod: 'October-November 2018' thumbnail: diff --git a/src/content/posts/nuclear-cooling-simulation.md b/src/content/posts/nuclear-cooling-simulation.md index fd587d0..f4bb00d 100644 --- a/src/content/posts/nuclear-cooling-simulation.md +++ b/src/content/posts/nuclear-cooling-simulation.md @@ -1,6 +1,6 @@ --- title: 'Two Graphs Are Simpler Than One: A Cooling System Simulator' -description: A live cooling-system sim for a PLC cybersecurity event. Splitting flow and heat into two graph passes kept the calculation cheap and the behaviour believable. +description: Live cooling-system sim for a PLC cybersecurity event. Splitting flow and heat into two graph passes kept it cheap and the behaviour believable. date: 2026-05-04 projectPeriod: 'October-November 2018' thumbnail: diff --git a/src/content/posts/perfect-postcode-rust-property-server.md b/src/content/posts/perfect-postcode-rust-property-server.md index 76221c3..a0130a0 100644 --- a/src/content/posts/perfect-postcode-rust-property-server.md +++ b/src/content/posts/perfect-postcode-rust-property-server.md @@ -1,6 +1,6 @@ --- title: 25 Million UK Property Rows in a Single Rust Process -description: Notes on the perfect-postcode.co.uk server. Every numeric feature is u16-quantised in a flat row-major array, so filter eval is two integer compares per row. +description: Notes on perfect-postcode.co.uk. Every numeric feature is u16-quantised in a row-major array, so filter eval is two integer compares per row. date: 2026-05-28 projectPeriod: '2026' thumbnail: diff --git a/src/content/posts/platform-game-c-sdl.md b/src/content/posts/platform-game-c-sdl.md index 523b687..1eee7d9 100644 --- a/src/content/posts/platform-game-c-sdl.md +++ b/src/content/posts/platform-game-c-sdl.md @@ -1,6 +1,6 @@ --- title: A 3D Voxel Game in C, Built While Learning Pointers -description: My Basics of Programming course project. 3D platformer in C with SDL 1.2, destructible terrain, time-slowdown powerups, and a great many segmentation faults. +description: My Basics of Programming project. 3D platformer in C with SDL 1.2, destructible terrain, time-slowdown powerups, and a great many segmentation faults. date: 2026-04-28 projectPeriod: 'Autumn 2017' thumbnail: diff --git a/src/content/posts/reconcile-text-3-way-merge.md b/src/content/posts/reconcile-text-3-way-merge.md index adf9c88..c2ee4b3 100644 --- a/src/content/posts/reconcile-text-3-way-merge.md +++ b/src/content/posts/reconcile-text-3-way-merge.md @@ -1,6 +1,6 @@ --- title: A 3-Way Text Merger That Never Shows Conflict Markers -description: reconcile-text merges Markdown notes from three editors I don't control, with no operation history. Here's why git, CRDTs, and diff-match-patch each failed me. +description: reconcile-text merges Markdown notes from three editors I don't control, with no history. Why git, CRDTs, and diff-match-patch each failed me. date: 2026-05-21 projectPeriod: '2025' thumbnail: diff --git a/src/content/posts/sdf-2d-ray-tracing.md b/src/content/posts/sdf-2d-ray-tracing.md index b3fa3d1..a16c89a 100644 --- a/src/content/posts/sdf-2d-ray-tracing.md +++ b/src/content/posts/sdf-2d-ray-tracing.md @@ -1,6 +1,6 @@ --- title: A 2D Ray Tracer for the Browser, Tuned for the Phone in Your Pocket -description: 'My BSc thesis library. The mobile GPU constraint shaped the architecture: tile-based passes, deferred shading, shaders generated per scene and device.' +description: 'My BSc thesis library. The mobile GPU shaped the architecture: tile-based passes, deferred shading, shaders generated per scene and device.' date: 2026-05-08 projectPeriod: 'Autumn-Winter 2020' thumbnail: diff --git a/src/content/posts/vault-link-obsidian-sync.md b/src/content/posts/vault-link-obsidian-sync.md index b7222b2..d53a6eb 100644 --- a/src/content/posts/vault-link-obsidian-sync.md +++ b/src/content/posts/vault-link-obsidian-sync.md @@ -1,6 +1,6 @@ --- title: An Obsidian Sync Built Around the Merger I Already Had -description: 'VaultLink: self-hosted Obsidian sync. Edit in any editor, online or off, then come back to a converged vault. The application that justified reconcile-text.' +description: 'VaultLink: self-hosted Obsidian sync. Edit in any editor, online or off, then come back to a converged vault. The app that justified reconcile-text.' date: 2026-05-30 projectPeriod: '2025-2026' thumbnail: diff --git a/src/styles/global.css b/src/styles/global.css index 5263e49..a1f8815 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -31,13 +31,13 @@ 4.5:1 for normal text). Darken-on-light / lighten-on-dark slightly from the previous values that fell just below threshold. */ --color-muted: light-dark(#3d3b35, #aaa299); - --color-link: light-dark(#285f74, #7fa8b7); + --color-link: light-dark(#1e4d5e, #7fa8b7); --color-link-hover: light-dark( - color-mix(in oklch, #285f74 70%, black 30%), + color-mix(in oklch, #1e4d5e 70%, black 30%), color-mix(in oklch, #7fa8b7 80%, white 20%) ); --color-accent: light-dark(oklch(55% 0.13 15), oklch(68% 0.11 15)); - --color-rule: light-dark(#d9d5ca, #5a5247); + --color-rule: light-dark(#bcb5a3, #5a5247); --color-rule-medium: light-dark(#7a7466, #70695f); --color-rule-strong: light-dark(#4a4340, #aaa196); --color-code-bg: light-dark(#efede6, #2a2824);