feat: core layout, UI atoms, homepage + behaviour modules
- UI atoms: Chip, Button, SplitCvButton, LangSwitch, ThemeToggle, Card, SectionLabel, TraceMotif, FramedImage - core: Base/Seo/Header/MobileNav/Footer/HintBar/SkipLink/ThemeScript - homepage sections: Hero, ProofStrip, SkillsGrid, ProjectCards, ExperienceTimeline, AboutTeaser, ContactBand + Homepage composition (EN/NO) - behaviour modules: theme, nav (overlay/hint/copy/header), observer (reveal/spy), lightbox, form — progressive enhancement, fail-silent - SEO head component: meta, hreflang from slug map, JSON-LD, OG references - move content data to src/data (avoid Astro reserved content-collection folder) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
import type { Meta } from '@lib/schema';
|
||||
|
||||
/* Per-page SEO metadata, handwritten per locale (SEO_SPEC §2). Keyed by pageId. */
|
||||
export const meta: Meta = {
|
||||
home: {
|
||||
en: {
|
||||
title: 'Connor Babbington — Systems Developer (.NET, React) · Tønsberg, Norway',
|
||||
description:
|
||||
'Systems developer with 8+ years building full-stack and backend systems in C#, .NET, React and Docker. Based in Tønsberg, Norway. Open to work.',
|
||||
},
|
||||
no: {
|
||||
title: 'Connor Babbington — Systemutvikler (.NET, React) · Tønsberg',
|
||||
description:
|
||||
'Systemutvikler med 8+ års erfaring med fullstack og backend i C#, .NET, React og Docker. Bosatt i Tønsberg. Åpen for nye muligheter.',
|
||||
},
|
||||
},
|
||||
projects: {
|
||||
en: {
|
||||
title: 'Projects — Connor Babbington',
|
||||
description:
|
||||
'Case studies of systems I have designed, built and run: JobTrack, InboxIntel and a self-hosted infrastructure lab.',
|
||||
},
|
||||
no: {
|
||||
title: 'Prosjekter — Connor Babbington',
|
||||
description:
|
||||
'Gjennomganger av systemer jeg har designet, bygget og driftet: JobTrack, InboxIntel og en egendriftet hjemmelab.',
|
||||
},
|
||||
},
|
||||
jobtrack: {
|
||||
en: {
|
||||
title: 'JobTrack — case study · Connor Babbington',
|
||||
description:
|
||||
'A full-stack job-application workspace: React, ASP.NET Core, SQLite, a local Ollama AI service and Docker. Architecture, decisions and security.',
|
||||
},
|
||||
no: {
|
||||
title: 'JobTrack — prosjektgjennomgang · Connor Babbington',
|
||||
description:
|
||||
'Et fullstack arbeidsrom for jobbsøking: React, ASP.NET Core, SQLite, lokal Ollama-AI og Docker. Arkitektur, valg og sikkerhet.',
|
||||
},
|
||||
},
|
||||
inboxintel: {
|
||||
en: {
|
||||
title: 'InboxIntel — case study · Connor Babbington',
|
||||
description:
|
||||
'Gmail analytics and safe bulk cleanup, built as Clean Architecture in .NET 8 with encrypted OAuth tokens and preview-before-delete.',
|
||||
},
|
||||
no: {
|
||||
title: 'InboxIntel — prosjektgjennomgang · Connor Babbington',
|
||||
description:
|
||||
'Gmail-analyse og trygg masseopprydding, bygget som Clean Architecture i .NET 8 med krypterte OAuth-tokens og forhåndsvisning før sletting.',
|
||||
},
|
||||
},
|
||||
homelab: {
|
||||
en: {
|
||||
title: 'Self-hosted infrastructure lab — Connor Babbington',
|
||||
description:
|
||||
'A home lab running Ubuntu, Docker, nginx, Gitea and monitoring — hands-on deployment and operations, and the deploy target for this site.',
|
||||
},
|
||||
no: {
|
||||
title: 'Egendriftet hjemmelab — Connor Babbington',
|
||||
description:
|
||||
'En hjemmelab med Ubuntu, Docker, nginx, Gitea og overvåking — praktisk drift og utrulling, og utrullingsmålet for denne siden.',
|
||||
},
|
||||
},
|
||||
experience: {
|
||||
en: {
|
||||
title: 'Experience — Connor Babbington',
|
||||
description:
|
||||
'Eight years as a systems developer in UK local government, from apprentice to full developer, plus self-directed product work in Norway.',
|
||||
},
|
||||
no: {
|
||||
title: 'Erfaring — Connor Babbington',
|
||||
description:
|
||||
'Åtte år som systemutvikler i britisk offentlig sektor, fra lærling til utvikler, samt egen produktutvikling i Norge.',
|
||||
},
|
||||
},
|
||||
about: {
|
||||
en: {
|
||||
title: 'About — Connor Babbington',
|
||||
description:
|
||||
'A systems developer based in Tønsberg, Norway, with a backend-leaning full-stack background and a habit of building and self-hosting projects.',
|
||||
},
|
||||
no: {
|
||||
title: 'Om meg — Connor Babbington',
|
||||
description:
|
||||
'Systemutvikler bosatt i Tønsberg, med fullstack-bakgrunn med tyngde på backend og en vane for å bygge og drifte egne prosjekter.',
|
||||
},
|
||||
},
|
||||
contact: {
|
||||
en: {
|
||||
title: 'Contact — Connor Babbington',
|
||||
description:
|
||||
'Get in touch about a systems developer role in Norway. E-mail, LinkedIn or the contact form — I usually reply within a day.',
|
||||
},
|
||||
no: {
|
||||
title: 'Kontakt — Connor Babbington',
|
||||
description:
|
||||
'Ta kontakt om en systemutvikler-rolle i Norge. E-post, LinkedIn eller kontaktskjema — jeg svarer vanligvis innen en dag.',
|
||||
},
|
||||
},
|
||||
cv: {
|
||||
en: {
|
||||
title: 'CV — Connor Babbington',
|
||||
description:
|
||||
'Download Connor Babbington’s CV in English or Norwegian — systems developer, 8+ years, .NET and full-stack.',
|
||||
},
|
||||
no: {
|
||||
title: 'CV — Connor Babbington',
|
||||
description:
|
||||
'Last ned CV-en til Connor Babbington på engelsk eller norsk — systemutvikler, 8+ år, .NET og fullstack.',
|
||||
},
|
||||
},
|
||||
colophon: {
|
||||
en: {
|
||||
title: 'Colophon — how this site works · Connor Babbington',
|
||||
description:
|
||||
'How this portfolio is built: Astro static site, CSS-first motion, bilingual by design, self-hosted in Docker with a small .NET contact relay.',
|
||||
},
|
||||
no: {
|
||||
title: 'Kolofon — slik er siden bygget · Connor Babbington',
|
||||
description:
|
||||
'Hvordan denne porteføljen er bygget: Astro-statisk side, CSS-basert bevegelse, tospråklig fra bunnen, egendriftet i Docker med en liten .NET-relay.',
|
||||
},
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user