From a2c5586535cd9c83858775842c7bbfed863bc96d Mon Sep 17 00:00:00 2001 From: Robert Lech Date: Thu, 2 Jul 2026 21:55:59 -0400 Subject: [PATCH 1/2] fix: fixes blog colors --- src/layouts/BlogLayout.astro | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/layouts/BlogLayout.astro b/src/layouts/BlogLayout.astro index 2c63c76..d23ada4 100644 --- a/src/layouts/BlogLayout.astro +++ b/src/layouts/BlogLayout.astro @@ -52,6 +52,12 @@ const { title, description, eyebrow, date, readTime, image, imageAlt } = Astro.p var(--bg); } + :global([data-theme='light']) .blog-shell { + background: + linear-gradient(180deg, rgba(248, 250, 252, 0.92), rgba(241, 245, 249, 0.96)), + var(--bg); + } + .blog-article { width: min(100%, 880px); margin: 0 auto; @@ -105,6 +111,10 @@ const { title, description, eyebrow, date, readTime, image, imageAlt } = Astro.p font-size: 0.92rem; } + :global([data-theme='light']) .blog-meta { + color: var(--text-dim); + } + .blog-banner { margin: 2.25rem 0 3rem; overflow: hidden; @@ -170,6 +180,11 @@ const { title, description, eyebrow, date, readTime, image, imageAlt } = Astro.p font-size: 0.92em; } + :global([data-theme='light']) .blog-content :global(code) { + background: rgba(226, 232, 240, 0.92); + color: #1e293b; + } + .blog-content :global(pre) { overflow-x: auto; border: 1px solid var(--border); From 13694b402dc0777ecd643b1b4d5cb661ebe9ced0 Mon Sep 17 00:00:00 2001 From: Robert Lech Date: Thu, 2 Jul 2026 23:03:19 -0400 Subject: [PATCH 2/2] fix: updates courses --- src/components/Certifications.astro | 116 +++++++++++++++++++--------- src/components/Header.astro | 17 ++-- src/data/certifications.json | 26 ++++++- 3 files changed, 115 insertions(+), 44 deletions(-) diff --git a/src/components/Certifications.astro b/src/components/Certifications.astro index 4123601..d780f02 100755 --- a/src/components/Certifications.astro +++ b/src/components/Certifications.astro @@ -3,6 +3,8 @@ import certificationsData from '../data/certifications.json'; type CertType = 'certification' | 'professional-development' | 'in-progress'; +const certTypes = new Set(certificationsData.map((cert) => cert.type ?? 'certification')); + // Returns the CSS class for the status badge chip (green / amber / blue). function badgeClass(type: CertType) { if (type === 'professional-development') return 'badge-pro-dev'; @@ -31,15 +33,30 @@ function cardModClass(type: CertType) {

Training

Courses & Development

- - Certification - - - Professional Development - - - In Progress - + { + certTypes.has('certification') && ( + + + Certification + + ) + } + { + certTypes.has('professional-development') && ( + + + Professional Development + + ) + } + { + certTypes.has('in-progress') && ( + + + In Progress + + ) + }
@@ -74,7 +91,7 @@ function cardModClass(type: CertType) {

{cert.description}

-
+
{cert.date} {type === 'in-progress' ? ( @@ -82,32 +99,59 @@ function cardModClass(type: CertType) { Actively Studying - ) : cert.credentialUrl ? ( - - - {type === 'professional-development' - ? 'View Certificate' - : 'View Credential'} - - - - - + ) : cert.credentialUrl || cert.courseUrl ? ( + + {cert.credentialUrl && ( + + + {type === 'professional-development' + ? 'View Certificate' + : 'View Credential'} + + + + + + )} + {cert.courseUrl && ( + + Course + + + + + )} + ) : ( No link available )} diff --git a/src/components/Header.astro b/src/components/Header.astro index d7cecde..0509d4d 100755 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -4,6 +4,11 @@ import menu from '../data/menu.json'; import siteData from '../data/site.json'; const { sections } = menu; +const localSections = sections.map((item) => ({ + ...item, + targetId: item.href.startsWith('#') ? item.href.slice(1) : '', + href: item.href.startsWith('#') ? `/${item.href}` : item.href, +})); // Build external nav links from site.json definitions, skipping any whose personal.json key is empty. // This lets site authors add potential platforms to navExternal without requiring all fields be filled. @@ -23,14 +28,14 @@ const external = siteData.navExternal