From 9037461d27477fbad27b9db1648c55c2212a1884 Mon Sep 17 00:00:00 2001 From: Tyler Koenig Date: Wed, 27 May 2026 17:33:16 -0400 Subject: [PATCH] fix(content): consolidate homelab spacing, dynamic service count in hero Collapse homelab into single Widget to match Projects/Journey spacing. Hero service count now reads from services data instead of hardcoded 30+. --- src/components/Hero.astro | 6 +++++- src/pages/index.astro | 17 +++++------------ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/components/Hero.astro b/src/components/Hero.astro index 864e8029..fabf6a06 100644 --- a/src/components/Hero.astro +++ b/src/components/Hero.astro @@ -1,3 +1,7 @@ +--- +import { services } from "@/data/services"; +--- +

Tyler Koenig

@@ -5,7 +9,7 @@

- Homelab runs 30+ services across segmented VLANs — pfSense, Authentik SSO, + Homelab runs {services.length} services across segmented VLANs — pfSense, Authentik SSO, full observability stack. Write software too: mobile apps, Go backends, open protocols. Daily drivers, all of it.

diff --git a/src/pages/index.astro b/src/pages/index.astro index 10246df4..0f1f5c84 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -37,18 +37,15 @@ const glanceStats = [
-
-

Homelab

-

+ +

Personal infrastructure environment for learning, self-hosting, and operational practice. Running 24/7 on production-grade hardware with real network segmentation, SSO, monitoring, and IaC-style documentation.

-
- -
+
{glanceStats.map(({ label, value }) => (
{label}
@@ -56,10 +53,8 @@ const glanceStats = [
))}
- - -
+
{categoryOrder.map((cat) => { const count = services.filter((s) => s.category === cat).length; return ( @@ -70,9 +65,7 @@ const glanceStats = [ ); })}
- -

Full documentation — network maps, ADRs, runbooks, and service configs.

@@ -84,7 +77,7 @@ const glanceStats = [ > gitea.lerkolabs.com/lerko/homelab → -
+