landing-page polish: fonts, motion, snippet, social proof#25
Merged
Conversation
- install missing @astrojs/sitemap; sitemap-index.xml now generates
- hero: auto-hide the Slack Dev Day pill once the event date passes
- hero: add brutalist quick-start snippet with copy button (npx degit)
- hero: vary float-block keyframes (a/b/c) + fix the inline animation-
delays that were on the wrong element and never took effect
- repo grid: rename eyebrow "// featured" → "// the stack" to match heading
- repo grid: stats row ({N} repos · ★ {N} stars · open source), gated
behind 100+ total stars so it stays hidden until traction is real
- styles: respect prefers-reduced-motion (animations + transitions)
- styles: self-host Space Grotesk + JetBrains Mono via @fontsource-variable,
drop the Google Fonts <link>/preconnect block from Layout.astro
- lib/github: replace hand-rolled formatRelativeTime with
Intl.RelativeTimeFormat (style: narrow) + calendar-correct month math
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
tightknit-dev-website | 3ce389b | Commit Preview URL Branch Preview URL |
May 18 2026, 02:53 PM |
The slack-hono-template was briefly private when this branch was first opened, which made `npx degit tightknitai/slack-hono-template` 404 — degit fetches anonymous tarballs. Leave a comment at both reference sites so we don't surface a private repo there again. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Round of landing-page improvements following an audit. Nine changes, all independent and reviewable in isolation.
@astrojs/sitemapwas declared inpackage.jsonbut missing fromnode_modules, sorobots.txt'sSitemap:pointer 404'd.npm install+ a green build confirmdist/sitemap-index.xml+dist/sitemap-0.xmlnow generate.Hero.astrogates the Slack Dev Day pill onnew Date() < SLACK_DEV_DAY_HIDE_AFTER(May 21). It vanishes on the next build after the date passes — pattern is reusable for future events.$ npx degit tightknitai/slack-hono-template my-slack-appsnippet under the hero buttons, with a copy button (yellow → cyan-on-success). Usesnavigator.clipboard.writeTextwith a hidden-textareafallback for insecure contexts.{N} repos · ★ {N} stars · open source) renders only when total stars ≥ 100 (SOCIAL_PROOF_STAR_THRESHOLDinRepoGrid.astro). Hidden by default until traction is real.// featured→// the stackto match the "The Stack." heading.<link>/preconnect/<noscript>block with@fontsource-variable/space-grotesk+@fontsource-variable/jetbrains-monoimports inglobal.css. One CDN hop removed, FOUC trick gone, English visitors pull ~64 KB of woff2 across two subsets.prefers-reduced-motion. Global CSS rule flattens all animations + transitions when the OS preference is set. Covers the marquee, the floats, the pulse dot, and brutalist hover transforms.Intl.RelativeTimeFormat.lib/github.tsformatRelativeTimenow usesIntl.RelativeTimeFormat('en', { style: 'narrow', numeric: 'auto' })with calendar-aware month math. Output stays compact ("5d ago", "5mo ago") and the floor-by-30 drift on month boundaries is gone.animation-delay: -2s/-4sstyles were on the parent wrappers, but the animations live on inner.float-blockchildren — so the delays were no-ops and all three blocks were bobbing in lockstep. Replaced with.float-block-a/-b/-c, each with its own duration (6s / 6.8s / 7.4s), phase offset, and rotation range. Removed the inner Tailwindrotate-12on the yellow block so its keyframe owns the full rotation.Reviewer notes
slack-honois a library, not a CLI, so I went withnpx degit tightknitai/slack-hono-template my-slack-app— the canonical idiom for scaffolding a non-create-template. If you have a preferred entry point (or want to renamemy-slack-app), just editQUICK_START_CMDinsrc/components/Hero.astro:7.SOCIAL_PROOF_STAR_THRESHOLDinsrc/components/RepoGrid.astroif you want it lower.unicode-range, so the over-shipping is mostly a build-tree thing. If you want to trim, swap the@import '@fontsource-variable/...'to@import '@fontsource-variable/.../latin.css'.document.execCommand('copy')deprecation.astro checkflags it as a hint; it's the intentional fallback path for insecure contexts wherenavigator.clipboardisn't available.Test plan
// the stackfonts.googleapis.com/fonts.gstatic.comrequests; instead fetches/_astro/space-grotesk-latin-wght-normal.*.woff2+/_astro/jetbrains-mono-latin-wght-normal.*.woff2dist/sitemap-index.xml+dist/sitemap-0.xmlexist afternpm run buildRepoCardrelative-time labels read "Nd ago" / "Nmo ago" / "Ny ago" (Intl narrow style); spot-check a repo pushed yesterday and one pushed months agonpm run build→ 0 errors / 0 warnings (1 hint expected from theexecCommandfallback)🤖 Generated with Claude Code