The Svelte 5 SSG Migration (#1)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful

- Migrates the site to Svelte 5
- Still generates a static site with inlined critical path CSS for the ultimate in performance
- Opens up future possibilities for site growth

Reviewed-on: #1
Co-authored-by: mifi <badmf@mifi.dev>
Co-committed-by: mifi <badmf@mifi.dev>
This commit was merged in pull request #1.
This commit is contained in:
2026-02-01 05:50:41 +00:00
committed by Mike Fitzpatrick
parent 40b770f8b5
commit 911093f0b6
96 changed files with 6841 additions and 3647 deletions

View File

@@ -0,0 +1,65 @@
<script lang="ts">
import { engagements } from '$lib/data/engagements';
</script>
<section id="engagements" class="section" aria-labelledby="engagements-heading">
<div class="container">
<h2 id="engagements-heading" class="section-title">Recent Engagements</h2>
<dl class="engagements-list">
{#each engagements as engagement (engagement.title)}
<div class="engagement">
<dt>{engagement.title}</dt>
<dd>{engagement.description}</dd>
</div>
{/each}
</dl>
</div>
</section>
<style>
.engagements-list {
max-width: var(--max-text-width);
margin: 0 auto;
}
.engagement {
margin-bottom: var(--space-xl);
padding-bottom: var(--space-lg);
padding-left: var(--space-md);
border-left: 3px solid var(--color-border);
transition: border-color var(--transition-base);
&:hover,
&:focus-within {
border-left-color: var(--color-primary);
}
&:last-child {
margin-bottom: 0;
padding-bottom: 0;
}
@media (max-width: 768px) {
padding-left: var(--space-sm);
}
@media (prefers-contrast: high) {
border-left-width: 4px;
}
& dt {
margin-bottom: var(--space-sm);
font-size: var(--font-size-large);
font-weight: var(--font-weight-semibold);
color: var(--color-text);
line-height: var(--line-height-tight);
}
& dd {
margin: 0;
font-size: var(--font-size-base);
line-height: var(--line-height-relaxed);
color: var(--color-text-secondary);
}
}
</style>