Initial portfolio site: Astro + Tailwind MVP

Outcome-led hero, about, grouped skills, experience summary, featured
projects + /projects index, static contact, SEO/OG, dark/light theme.
Dockerfile + nginx config + build script for homelab deploy.
This commit is contained in:
2026-06-17 16:22:53 +10:00
commit 2d4b6ea097
38 changed files with 8232 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
---
interface Props {
id: string;
eyebrow: string;
title: string;
/** Monospace index like "01" shown beside the eyebrow. */
index?: string;
}
const { id, eyebrow, title, index } = Astro.props;
---
<section id={id} class="section">
<div class="container">
<header class="section__head" data-reveal>
<p class="eyebrow">
{index && <span class="section__index">{index}</span>}{eyebrow}
</p>
<h2 class="section__title">{title}</h2>
</header>
<slot />
</div>
</section>
<style>
.section__head {
margin-bottom: var(--space-6);
}
.section__index {
color: var(--text-faint);
margin-right: 0.6rem;
}
.section__title {
margin-top: var(--space-3);
font-size: var(--step-3);
max-width: 22ch;
}
</style>