🧠 Context
The site has no favicon — browser tabs show the default blank/globe icon. src/layouts/Base.astro already has the two <link> tags written and commented out in the <head>, waiting for the asset files to exist. This ticket adds the icon files to public/ and uncomments those links.
We ship both an SVG (crisp, modern browsers) and an ICO (the fallback older browsers and some tools still ask for). Use the official CCSS logo as the mark.
Files you'll need:
public/favicon.svg (already committed)
public/favicon.ico (new)
src/layouts/Base.astro (uncomment the two <link> tags)
🛠️ Implementation Plan
-
The SVG is already there. public/favicon.svg (the CCSS logo) is already committed — you don't need to create or source it. Files in public/ are served as-is from the site root.
-
Create public/favicon.ico. Generate it from the existing public/favicon.svg (e.g. an SVG→ICO converter). The SVG is vector, but ICO is raster and needs baked-in pixel sizes — use 32×32 (or a multi-size ICO with 16×16 + 32×32). Make sure the mark still reads at 16px.
-
Uncomment the links in src/layouts/Base.astro. The block already exists:
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="icon" href="/favicon.ico" />
Remove the surrounding <!-- … --> so both are live.
-
Verify in pnpm dev: the tab shows the CCSS logo, and there's no 404 for favicon.ico in the network tab.
✅ Acceptance Criteria
🧠 Context
The site has no favicon — browser tabs show the default blank/globe icon.
src/layouts/Base.astroalready has the two<link>tags written and commented out in the<head>, waiting for the asset files to exist. This ticket adds the icon files topublic/and uncomments those links.We ship both an SVG (crisp, modern browsers) and an ICO (the fallback older browsers and some tools still ask for). Use the official CCSS logo as the mark.
Files you'll need:
public/favicon.svg(already committed)public/favicon.ico(new)src/layouts/Base.astro(uncomment the two<link>tags)🛠️ Implementation Plan
The SVG is already there.
public/favicon.svg(the CCSS logo) is already committed — you don't need to create or source it. Files inpublic/are served as-is from the site root.Create
public/favicon.ico. Generate it from the existingpublic/favicon.svg(e.g. an SVG→ICO converter). The SVG is vector, but ICO is raster and needs baked-in pixel sizes — use 32×32 (or a multi-size ICO with 16×16 + 32×32). Make sure the mark still reads at 16px.Uncomment the links in
src/layouts/Base.astro. The block already exists:Remove the surrounding
<!-- … -->so both are live.Verify in
pnpm dev: the tab shows the CCSS logo, and there's no 404 forfavicon.icoin the network tab.✅ Acceptance Criteria
public/favicon.icois generated from the existingpublic/favicon.svgand still reads at 16px.<link>tags inBase.astroare uncommented and live.favicon.ico404 in the console.pnpm format:check,pnpm check, andpnpm buildall pass.