diff --git a/.github/workflows/lighthouse.yml b/.github/workflows/lighthouse.yml index 2c5c406..d102f31 100644 --- a/.github/workflows/lighthouse.yml +++ b/.github/workflows/lighthouse.yml @@ -19,4 +19,4 @@ jobs: lighthouse: uses: DoctorDerek/DoctorDerekCICD/.github/workflows/lighthouse.yml@93e29ba0fcf1d35d8ff0040002816c36d763d966 with: - production-url: https://www.doctorderek.com/ + production-url: https://doctorderek.com/ diff --git a/README.md b/README.md index e89475d..10d7185 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # DoctorDerek.com -[![Production](https://img.shields.io/website?url=https%3A%2F%2Fwww.doctorderek.com%2F&up_message=live&down_message=offline&label=production&logo=vercel&logoColor=white)](https://www.doctorderek.com/) [![Codecov](https://codecov.io/gh/DoctorDerek/DoctorDerek.com/graph/badge.svg)](https://app.codecov.io/gh/DoctorDerek/DoctorDerek.com) [![ESLint, Vitest, and XState](https://github.com/DoctorDerek/DoctorDerek.com/actions/workflows/eslint-vitest-xstate.yml/badge.svg?branch=main)](https://github.com/DoctorDerek/DoctorDerek.com/actions/workflows/eslint-vitest-xstate.yml) [![Playwright](https://github.com/DoctorDerek/DoctorDerek.com/actions/workflows/playwright.yml/badge.svg)](https://github.com/DoctorDerek/DoctorDerek.com/actions/workflows/playwright.yml) +[![Production](https://img.shields.io/website?url=https%3A%2F%2Fdoctorderek.com%2F&up_message=live&down_message=offline&label=production&logo=vercel&logoColor=white)](https://doctorderek.com/) [![Codecov](https://codecov.io/gh/DoctorDerek/DoctorDerek.com/graph/badge.svg)](https://app.codecov.io/gh/DoctorDerek/DoctorDerek.com) [![ESLint, Vitest, and XState](https://github.com/DoctorDerek/DoctorDerek.com/actions/workflows/eslint-vitest-xstate.yml/badge.svg?branch=main)](https://github.com/DoctorDerek/DoctorDerek.com/actions/workflows/eslint-vitest-xstate.yml) [![Playwright](https://github.com/DoctorDerek/DoctorDerek.com/actions/workflows/playwright.yml/badge.svg)](https://github.com/DoctorDerek/DoctorDerek.com/actions/workflows/playwright.yml) -The public website and engineering portfolio of [Dr. Derek Austin](https://www.doctorderek.com/), built to present six live projects and the engineering behind them. +The public website and engineering portfolio of [Dr. Derek Austin](https://doctorderek.com/), built to present six live projects and the engineering behind them. ## Mobile Web Lighthouse Measurements -Latest successful automated Lighthouse scores for the canonical production website, measured with Lighthouse’s standard mobile emulation against [www.doctorderek.com](https://www.doctorderek.com/). The badges and linked HTML report come from the audit with the median performance score among five production runs. +Latest successful automated Lighthouse scores for the canonical production website, measured with Lighthouse’s standard mobile emulation against [doctorderek.com](https://doctorderek.com/). The badges and linked HTML report come from the audit with the median performance score among five production runs. [![Mobile Web Lighthouse Performance](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fdoctorderek.github.io%2FDoctorDerek.com%2Flighthouse-results.json&query=%24.performance&label=performance&suffix=%2F100&logo=lighthouse&logoColor=white&color=informational)](https://doctorderek.github.io/DoctorDerek.com/) [![Mobile Web Lighthouse Accessibility](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fdoctorderek.github.io%2FDoctorDerek.com%2Flighthouse-results.json&query=%24.accessibility&label=accessibility&suffix=%2F100&logo=lighthouse&logoColor=white&color=informational)](https://doctorderek.github.io/DoctorDerek.com/) [![Mobile Web Lighthouse Best Practices](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fdoctorderek.github.io%2FDoctorDerek.com%2Flighthouse-results.json&query=%24.bestPractices&label=best%20practices&suffix=%2F100&logo=lighthouse&logoColor=white&color=informational)](https://doctorderek.github.io/DoctorDerek.com/) [![Mobile Web Lighthouse SEO](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fdoctorderek.github.io%2FDoctorDerek.com%2Flighthouse-results.json&query=%24.seo&label=SEO&suffix=%2F100&logo=lighthouse&logoColor=white&color=informational)](https://doctorderek.github.io/DoctorDerek.com/) @@ -31,7 +31,7 @@ This repository contains the full-stack Next.js source code for my public portfo ## Links -- [Live Website](https://www.doctorderek.com/) +- [Live Website](https://doctorderek.com/) - [Medium Blog (@DoctorDerek)](https://doctorderek.medium.com/) - [GitHub (@DoctorDerek)](https://github.com/DoctorDerek) diff --git a/__tests__/app/layout.test.tsx b/__tests__/app/layout.test.tsx index e24e305..62fc0aa 100644 --- a/__tests__/app/layout.test.tsx +++ b/__tests__/app/layout.test.tsx @@ -22,9 +22,7 @@ describe("root metadata", () => { }) it("publishes the canonical production identity", () => { - expect(metadata.metadataBase?.toString()).toBe( - "https://www.doctorderek.com/", - ) + expect(metadata.metadataBase?.toString()).toBe("https://doctorderek.com/") expect(metadata.alternates?.canonical).toBe("/") expect(metadata.description).toContain("six live Next.js products") expect(metadata.description).toContain("92–100% Codecov coverage") diff --git a/__tests__/constants/SITE_CONTENT.test.ts b/__tests__/constants/SITE_CONTENT.test.ts index cea77b7..10c1710 100644 --- a/__tests__/constants/SITE_CONTENT.test.ts +++ b/__tests__/constants/SITE_CONTENT.test.ts @@ -102,6 +102,7 @@ describe("site copy quality gates", () => { ) expect(doctorDerekProject?.projectTitle).toBe("DoctorDerek.com") + expect(doctorDerekProject?.liveUrl).toBe("https://doctorderek.com/") expect(doctorDerekProject?.summary).toContain("six live projects") expect(doctorDerekProject?.details).toContain("XState parallel machine") expect(doctorDerekProject?.details).toContain("Medium RSS feed") diff --git a/app/layout.tsx b/app/layout.tsx index f8e5a7f..37072d4 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -46,7 +46,7 @@ const siteDescription = "AI-native senior full-stack TypeScript and UI/UX engineer Dr. Derek Austin: six live Next.js products with public source, CI/CD, and 92–100% Codecov coverage." export const metadata: Metadata = { - metadataBase: new URL("https://www.doctorderek.com/"), + metadataBase: new URL("https://doctorderek.com/"), title: siteTitle, description: siteDescription, alternates: { diff --git a/constants/SITE_CONTENT.ts b/constants/SITE_CONTENT.ts index 193005a..a06b8ce 100644 --- a/constants/SITE_CONTENT.ts +++ b/constants/SITE_CONTENT.ts @@ -282,7 +282,7 @@ export const PORTFOLIO_PROJECTS: PortfolioProject[] = [ details: "An XState parallel machine owns logo and background transitions, and fullPage.js handles section navigation. Motion animates interface elements, Rive renders the splash, Canvas draws particles, and Next.js fetches and cleans the Medium RSS feed.", tech: ["Next.js", "TypeScript", "XState", "Motion", "Rive"], - liveUrl: "https://www.doctorderek.com/", + liveUrl: "https://doctorderek.com/", sourceUrl: "https://github.com/DoctorDerek/DoctorDerek.com", }, ] as const