Marketing site for Fastty, a GPU-accelerated terminal emulator written in Rust on GPUI and Alacritty Terminal.
@fontsource-variablebun install
bun run dev
Server starts at http://localhost:4321 (or the next free port — check the terminal output).
bun run build
bun run preview
Output goes to ./dist/ as a fully static site.
src/
├── components/
│ ├── Nav.astro # sticky header with live GitHub star count
│ ├── Footer.astro
│ └── sections/
│ ├── Hero.astro # hero + animated terminal mock
│ ├── Features.astro # alternating copy + code blocks
│ ├── Performance.astro # cargo bench output + E2E comparison
│ ├── Themes.astro # interactive theme switcher
│ └── Install.astro # tabbed install commands
├── layouts/
│ └── Layout.astro
├── lib/
│ └── repo.ts # GitHub API fetch (version + stars)
├── pages/
│ └── index.astro
└── styles/
├── tokens.css # design tokens (colors, type, spacing)
└── global.css # base + animations
Tokens live in src/styles/tokens.css. Neutrals are tinted toward the brand hue (warm amber), never pure black or white. One accent color (--voltage-orange) carries 30–60% of the surface.
Typography pair:
The nav pulls two things from the GitHub API at build time:
v0.4.1)Both calls live in src/lib/repo.ts. If the API fails, the build falls back to a hard-coded version and hides the star count.
There are exactly three pieces of client JS on the page:
Themes.astro) — click a theme in the registry list, both the featured preview and the hero terminal swap to that palette. Selection persists in localStorage.Install.astro) — tab indicator slides between buttons; Copy button swaps to a checkmark on success.Hero.astro) — types commands, reveals output, resets. Loops. Respects prefers-reduced-motion.All transitions use a single custom easing curve, cubic-bezier(0.23, 1, 0.32, 1), declared in tokens.css as --ease-out.
border-left as a colored accent) are bannedcargo bench output insteadMIT. Fasty itself is at github.com/diegoleteliers10/fasty.