Initial Astro redesign and deploy workflow

This commit is contained in:
2026-04-06 13:00:53 +02:00
parent 5753258ce9
commit aec24d92b6
42 changed files with 8176 additions and 51 deletions
+229
View File
@@ -0,0 +1,229 @@
export type LaunchSection = {
slug: string;
label: string;
title: string;
summary: string;
tone: string;
strap: string;
coverline: string;
motif: string;
samples: string[];
};
export type SchoolDossier = {
slug: string;
institution: string;
years: string;
program: string;
city: string;
logo: string;
teaser: string;
};
export const hero = {
kicker: "Blue Note Logic presents",
title: "Dave Gilligan, a literary jazz magazine disguised as a personal site.",
lede:
"Writing, technology, music, languages, family history, consulting, and a little applied pataphysics, arranged as a bright editorial salon rather than a brochure.",
sublede:
"Built for essays, dossiers, dispatches, experiments, job postings, and AI-assisted editions that can move between English, Norwegian, and French without losing their mood.",
};
export const launchSections: LaunchSection[] = [
{
slug: "business",
label: "01",
title: "Business",
summary: "Consulting notes, operator essays, client stories, and strategy with sleeves rolled up.",
tone: "Sharp, practical, anti-buzzword.",
strap: "Operator studies for adults who are tired of consultant vapor.",
coverline: "The anti-buzzword ledger.",
motif: "Pricing, systems, execution, and elegant refusal.",
samples: ["The one-laptop doctrine", "SME systems with teeth", "Boardroom notes without cologne"],
},
{
slug: "education",
label: "02",
title: "Education",
summary: "School dossiers, study notes, intellectual migrations, and academic detours worth keeping.",
tone: "Curious, rigorous, lightly mischievous.",
strap: "Degrees as cities, schools as chapters, study as migration.",
coverline: "The dossier issue.",
motif: "Memory, theory, institutions, and weather.",
samples: ["Villanova as overture", "Krakow and the bureaucracy sublime", "Kongsberg after experience"],
},
{
slug: "family",
label: "03",
title: "Family",
summary: "A warmer archive for memory, milestones, and the people who keep the music human.",
tone: "Private-minded, generous, alive.",
strap: "The soft archive, still edited like it matters.",
coverline: "Domestic front pages.",
motif: "Photographs, notes, kinship, and time.",
samples: ["Albums with captions worth reading", "Milestones without sentimentality", "A household in motion"],
},
{
slug: "fun-postings",
label: "04",
title: "Fun Postings",
summary: "Odd notices, cultural flyers, side projects, and delightfully unnecessary announcements.",
tone: "Playful, deadpan, collectible.",
strap: "The classified page gets strange and starts wearing cologne.",
coverline: "Useful nonsense, neatly set.",
motif: "Flyers, jokes, events, absurd notices.",
samples: ["Cultural dispatches", "Ridiculous but sincere", "Posters for improbable evenings"],
},
{
slug: "writing",
label: "05",
title: "Writing",
summary: "Features, columns, notebooks, and dispatches for readers who like style with backbone.",
tone: "Literary, international, smoky.",
strap: "Columns with brass in the lungs and data in the pockets.",
coverline: "Smoke, syntax, and reportage.",
motif: "Essays, dispatches, notebook pages.",
samples: ["On systems and sorrow", "Nordic field notes", "Paris after the spreadsheet"],
},
{
slug: "jazz-music",
label: "06",
title: "Jazz and Music",
summary: "Listening notes, deep cuts, rhythm studies, and the low-lit logic of serious groove.",
tone: "Velvet, brassy, precise.",
strap: "For records, rooms, and players who understand that rhythm is governance.",
coverline: "Blue notes and side doors.",
motif: "Listening, memory, improvisation, timing.",
samples: ["Records after midnight", "Why groove beats branding", "A private history of swing"],
},
{
slug: "languages",
label: "07",
title: "Languages",
summary: "Translation, vocabulary, cross-border humor, and the pleasures of switching registers.",
tone: "Polyglot, sly, welcoming.",
strap: "A section for mistranslation, seduction, and grammatical diplomacy.",
coverline: "The multilingual cabinet.",
motif: "French, Norwegian, English, and elegant trouble.",
samples: ["Words that travel badly", "Translation as personality", "Syntax with a passport"],
},
{
slug: "ai-lab",
label: "08",
title: "AI Lab",
summary: "Built-in tools, experiments, prompt systems, and practical machine intelligence with taste.",
tone: "Forward-looking, grounded, open source friendly.",
strap: "Machine intelligence without the conference lanyard.",
coverline: "The atelier for useful futures.",
motif: "Prompts, tooling, agentic systems, humane interfaces.",
samples: ["AI that can write in-house style", "Editorial controls, not gimmicks", "Open tools with manners"],
},
{
slug: "norway",
label: "09",
title: "Norway",
summary: "Kongsberg dispatches, civic notes, local texture, and Scandinavian reality at street level.",
tone: "Observant, civic, place-aware.",
strap: "A local paper for one town and several realities.",
coverline: "Kongsberg, correctly observed.",
motif: "Place, policy, weather, Nordic texture.",
samples: ["Silver city dispatches", "The civic weather report", "Norway beyond brochure language"],
},
{
slug: "projects",
label: "10",
title: "Projects",
summary: "Things launched, repaired, modernized, or imagined into being across code, content, and data.",
tone: "Builder energy, clean receipts.",
strap: "The workshop floor, but art directed.",
coverline: "Built, fixed, and shipped.",
motif: "Case files, before/after, code and consequence.",
samples: ["From schema to interface", "Deployments with fingerprints", "Systems that survived contact"],
},
{
slug: "cv",
label: "11",
title: "CV",
summary: "The formal record, still elegant, still readable, and never trapped in a dusty PDF.",
tone: "Professional, legible, confident.",
strap: "The biography in pressed clothes.",
coverline: "A resume that behaves like publishing.",
motif: "Timeline, experience, proof, education.",
samples: ["Careers across countries", "A record without dead language", "Credentials with pulse"],
},
];
export const schoolDossiers: SchoolDossier[] = [
{
slug: "usn",
institution: "University of South-Eastern Norway",
years: "2021 to present",
program: "MSc, Innovation and Technology Management",
city: "Kongsberg, Norway",
logo: "/images/schools/usn.svg",
teaser:
"A systems laboratory where engineering discipline and lived experience meet over coffee, models, and unfinished questions.",
},
{
slug: "jagiellonian",
institution: "Jagiellonian University",
years: "2010 to 2011",
program: "European Union Studies",
city: "Krakow, Poland",
logo: "/images/schools/jagiellonian.svg",
teaser:
"History, bureaucracy, Europe, and the old civilizational habit of asking larger questions than the room can comfortably hold.",
},
{
slug: "escp-moore",
institution: "ESCP and Darla Moore",
years: "1997 to 1999",
program: "International MBA and Master of International Business",
city: "Paris and Columbia, South Carolina",
logo: "/images/schools/escp-moore.svg",
teaser:
"A dual orbit of French polish and American execution, where commerce learned to travel with style and consequence.",
},
{
slug: "european-university",
institution: "European University and Institut Cooreman",
years: "1996",
program: "MBA and Master of International Trade",
city: "Brussels, Belgium",
logo: "/images/schools/european-university.svg",
teaser:
"Trade, movement, and continental ambition, written in the language of deals, trains, and multilingual evenings.",
},
{
slug: "villanova",
institution: "Villanova University",
years: "1991 to 1995",
program: "BSc, Business Administration",
city: "Philadelphia, Pennsylvania",
logo: "/images/schools/villanova.svg",
teaser:
"The Main Line chapter, where finance, communication, and character first learned to share the same bandstand.",
},
];
export const fieldNotes = [
"AI-backed edition controls for English, Norwegian, and French.",
"A magazine structure ready for essays, archives, member access, and dossiers.",
"A future-facing front end sitting on top of PHP, SQL, and role-based permissions.",
];
export const editorialPromises = [
"Keep the light background and the page breathable.",
"Make AI visible as a craft tool, not a gimmick.",
"Treat the CV, the essays, and the family archive with equal design seriousness.",
];
export const coverLines = [
"A literary technology salon with jazz smoke in the margins.",
"Five school dossiers, each signed with a clearly counterfeit blessing.",
"AI in the machinery, not sprayed on top like fresh cologne.",
];
export function getSectionHref(section: LaunchSection) {
return section.slug === "education" ? "/education" : `/${section.slug}`;
}