Every page pulled its three typefaces from fonts.googleapis.com and
fonts.gstatic.com, each blog post fetched the author avatar from
githubusercontent.com, and the giscus client script ran on page load. That is
four outside origins contacted before a reader does anything, each costing a
DNS lookup and a TLS handshake on the critical path.
Fonts now come from the @fontsource packages the app already uses and are
emitted as .woff2 beside the site; the avatar is a 3 KB file in public/; and
the giscus embed is created by a "Show comments" button that carries the
configuration as data attributes, so the script is only built when a reader
asks for it.
A delivered page now makes no third-party request at all, verified across the
whole build. The variable Bricolage package names itself "Bricolage Grotesque
Variable", so that exact name leads the display stack in the Tailwind config.
The giscus test now checks the button configuration and asserts the client
script is absent from the delivered HTML.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* style(website): solid hairlines, Bricolage Grotesque display face, drop TV effects
First of three landing redesign PRs. This one only touches tokens and
surface treatment so every page (home, blog, /features, /compare,
/download) benefits without any structural change:
- Replace every dashed border with a solid hairline; `.card-dotted`
becomes `.card-panel` (bg step + hairline, lighter hairline on hover)
and the section divider is solid `surface-800`.
- Swap the display face from Playfair Display to Bricolage Grotesque
(DM Sans body and IBM Plex Mono unchanged). The italic accent word
that every heading repeated is gone; only page-level h1s keep the
accent, and as colour rather than italic.
- Remove the CRT/TV effects: the `.btn-tv` block and its nine keyframes,
the scanline overlay on the hero screenshot, the CRT hover overlay and
teal glow shadows on feature cards, the pulsing mascot, and the unused
scan/tv-* Tailwind animations.
- The hero download button and the header Download link are now solid
accent buttons; the self-host link is a plain text link.
- Blog tag chips use neutral surface borders so teal stays reserved for
actions.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* style(website): finish the dashed sweep in prose and package rows
The blanket `border-dashed ` removal ate the utility but not the
variant prefix in the blog prose classes, leaving
`prose-pre:prose-pre:...` and `prose-hr:prose-hr:...`; and the
Linux package rows still used `divide-dashed`.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
- Added @tailwindcss/typography version 0.5.19 to package.json
- Updated pnpm-lock.yaml to include @tailwindcss/typography with its dependencies
- Updated sass version from 1.97.1 to 1.90.0 in pnpm-lock.yaml
Create a new IPTVnator website using Astro 5 + Tailwind CSS within the Nx monorepo.
Features include a landing page with hero section, feature grid with auto-scrolling
carousel, screenshot showcase, download CTA, blog with MDX content collections,
and a GitHub Pages deployment workflow. Design uses a cinematic broadcast aesthetic
with TV-effect hover animations, Playfair Display serif typography, and warm dark
surfaces. Also fixes .gitignore to cover nested node_modules directories.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 8171359f42f3