Update content & design (#75)
All checks were successful
Deploy to Pages / build (push) Successful in 2m58s

Reviewed-on: https://home.schmelczer.dev/git/git/andras/schmelczer-dev/pulls/75
This commit is contained in:
Andras Schmelczer 2026-05-28 16:20:12 +01:00
parent 0be50b6c24
commit b554e92e9f
83 changed files with 2995 additions and 723 deletions

View file

@ -4,10 +4,11 @@ import { getImage } from 'astro:assets';
import type { ImageMetadata } from 'astro';
export const site = {
brand: 'schmelczer.dev',
name: 'Andras Schmelczer',
title: 'Andras Schmelczer Software engineer',
title: 'Andras Schmelczer, Software engineer',
description:
'Andras Schmelczer writes about software systems, AI deployment, graphics, simulations, and tools.',
'Notebook of someone who keeps reaching for the same two moves: let the hard constraint pick the data structure, then keep the API small enough to defend.',
url: 'https://schmelczer.dev',
email: 'andras@schmelczer.dev',
github: 'https://github.com/schmelczer',
@ -30,7 +31,7 @@ export const navItems: readonly NavItem[] = [
{ href: '/articles/', label: 'Articles' },
{ href: '/projects/', label: 'Projects' },
{ href: '/about/', label: 'About' },
{ href: '/tags/', label: 'Tags' },
{ href: '/tags/', label: 'Tags', footerOnly: true },
{ href: '/rss.xml', label: 'RSS', footerOnly: true },
];
@ -155,13 +156,14 @@ export function buildPersonJsonLd(extra?: Record<string, unknown>) {
// Responsive image config shared by entry listings. Centralized here so a
// change to one breakpoint set is a single edit, not two component changes.
export const ARTICLE_THUMBNAIL = {
widths: [120, 180, 240, 320, 480],
widths: [160, 240, 320, 480, 640],
sizes: '(max-width: 700px) clamp(64px, 22vw, 80px), (max-width: 960px) 7rem, 8rem',
};
export const PROJECT_THUMBNAIL = {
widths: [240, 320, 480, 640, 800],
sizes: '(max-width: 700px) 7rem, (max-width: 960px) clamp(7rem, 18vw, 9.5rem), 19rem',
widths: [320, 480, 640, 800, 960, 1200, 1280],
sizes:
'(max-width: 700px) calc(100vw - 40px), (max-width: 960px) calc((100vw - 64px - 1rem) / 2), calc((min(100vw - 64px, 72rem) - 2rem) / 3)',
};
// Wraps `getImage` with the standard OG dimensions (1200x630 JPEG). Used by