Skip to content

infra: brand favicon set and light-default theme#316

Merged
marc0olo merged 2 commits into
mainfrom
infra/brand-favicon-theme
Jul 17, 2026
Merged

infra: brand favicon set and light-default theme#316
marc0olo merged 2 commits into
mainfrom
infra/brand-favicon-theme

Conversation

@marc0olo

@marc0olo marc0olo commented Jul 17, 2026

Copy link
Copy Markdown
Member

Summary

Supersedes #293. Brings the docs site in line with the ICP/DFINITY brand guide favicon spec (design skill v2.7 / brand guide v2.26+, verified live at v2.27) and finishes the theme correctness work #293 started, dropping the two token edits in #293 that contradicted the canonical tokens.css.

Favicon (the piece #293 deferred)

  • Ship the full brand favicon set: favicon.svg (gradient-infinity vector on a transparent canvas), multi-size favicon.ico, PNG rasters (16/32/48/192/512), Apple touch icon (light + dark), and a safari-pinned-tab.svg mask. Replaces the old base64-PNG-wrapped-in-SVG placeholder.
  • Wire the head tags per §6.5: .ico alternate, PNG rasters, apple-touch-icon, and mask-icon with rust #a8482b. Starlight continues to emit the primary SVG.

Theme correctness

  • Stop auto-switching on prefers-color-scheme in both ThemeProvider.astro (FOUC guard) and ThemeSelect.astro. Light is the deliberate default; dark applies only on an explicit stored choice.
  • Add a theme-color meta (#faf9f5) and sync it to the dark bark value (#14110d) when the user opts into dark, so the browser chrome matches the applied theme rather than the OS preference.

Type system

  • Drop the off-system Inter 700 face (the system is Inter 400/500/600) and map bold prose to Inter 600 so emphasized text renders a real loaded weight.

Intentionally NOT carried over from #293

Two dark-theme token edits in #293 contradict the canonical tokens.css (the skill's declared source of truth), and the site already matches the canonical values, so they are dropped:

No component consumes --icp-bg-cta-inverse today, so there is no visual impact either way.

Verified

  • npm run build passes.
  • Built HTML contains all favicon link tags and the theme-color meta.
  • public/favicon.svg is the vector mark (no base64); no Inter 700 in the bundle.

marc0olo added 2 commits July 17, 2026 16:05
- Ship the full ICP brand favicon set (SVG vector, .ico, PNG rasters,
  Apple touch icon light+dark, Safari pinned-tab mask) per brand guide
  v2.26 §6.5, replacing the base64-PNG-in-SVG placeholder.
- Add favicon .ico/PNG/apple-touch/mask-icon and theme-color head tags.
- Stop auto-switching theme on prefers-color-scheme: light is the
  deliberate default, dark applies only on an explicit stored choice.
- Sync the theme-color meta with the applied theme.
- Drop the off-system Inter 700 face; map bold prose to Inter 600.

Supersedes #293.
@marc0olo
marc0olo requested a review from a team as a code owner July 17, 2026 14:05
@marc0olo
marc0olo merged commit af7ead4 into main Jul 17, 2026
7 checks passed
@marc0olo
marc0olo deleted the infra/brand-favicon-theme branch July 17, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants