Skip to content

feat: a favicon, the s of the wordmark over one of its bundles on a tile, with a bitmap for a home screen - #32

Merged
vlad-salone merged 2 commits into
mainfrom
feat/favicon
Oct 13, 2026
Merged

vlad-salone merged 2 commits into
mainfrom
feat/favicon

Conversation

@vlad-salone

@vlad-salone vlad-salone commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

What and why

The page had no icon. This one is drawn from the wordmark of #30: the s of the name, large, over the left of its two bundles, on a rounded tile. The tile is gray 12 and the lines and the letter gray 1, the page's foreground and background, and they swap under prefers-color-scheme: dark as the page does, so the tab's icon follows the scheme in Chrome and Firefox.

The file. public/icon.svg, 4 kB, copied to the root of the build as it is, linked from index.html as image/svg+xml. The lines are the mark's own path data, the bundle's five lines at a heavier stroke, cropped to the tile. The s is Geist Bold, a step heavier than the mark's SemiBold so it holds at 16 px, outlined with opentype.js from the package's TTF and centred on its ink, since an icon cannot reach the page's fonts, with a knockout around it in the tile's colour as the mark has around the name. The colours are literal hex, the gray tokens' values, because an icon cannot read the page's custom properties either.

The bitmap. public/apple-touch-icon.png, 180 by 180, the light scheme rendered from the SVG, for Safari, iOS and a home screen, which take no SVG. img-src 'self' in the policy covers both.

Note: the SVG carries a <style> block for the dark scheme. It is its own document, loaded as an image, so the page's policy and the rule against <style> in the page do not reach it, and nothing in it runs.

CLAUDE.md gains the public/ line in the layout.

The tests

pnpm test:e2e   # 21 tests
  • page.spec.ts: the icon is linked, served as image/svg+xml, carries the dark scheme, and the touch icon is served as image/png. The suite's check for a securitypolicyviolation covers the fetch.

🤖 Generated with Claude Code

vlad-salone and others added 2 commits October 13, 2026 14:07
…ile, with a bitmap for a home screen

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[Low impact] The PR appears safe to merge; no actionable issues were found.

Summary

Adds a same-origin SVG favicon and a PNG home-screen icon.

  • The page now shows a wordmark icon and offers a home-screen image.

vlad-salone explicitly described the SVG’s internal <style> block as intentional and separate from the page’s styles.

No actionable issues were established. Tests were not run. The attached PNG could not be visually inspected because this model does not support image input.

Reviews (1) · Last reviewed commit: "feat: the icon's s in Geist Bold, at 88" · Reviewed by Greptile

@vlad-salone
vlad-salone merged commit 2a93481 into main Oct 13, 2026
2 of 3 checks passed
@vlad-salone
vlad-salone deleted the feat/favicon branch October 13, 2026 12:20
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.

1 participant