Landing page for EmberTerm, an open source terminal for Windows and macOS. Live at https://emberterm.arifintahu.com.
Static Astro site. No analytics or trackers; the only external request from the page is Google Fonts.
Requires Node.js 22+ and pnpm.
pnpm install
pnpm dev # http://localhost:4321
pnpm check # type check
pnpm build # static output in dist/src/release.ts asks the GitHub API for the latest emberterm/emberterm release at build time and builds the
.exe, .msi and .dmg download URLs and installer sizes from it. The build fails if one of those assets is missing
from the release. If the API is unreachable, it uses the pinned FALLBACK_VERSION and hides the sizes.
The site only picks up a new release when it is rebuilt, so redeploy after each release.
vercel deploy --prodEnvironment variables (Vercel, Production):
| Name | Purpose |
|---|---|
GITHUB_TOKEN |
Optional. A classic token with no scopes; only raises the GitHub API rate limit during the build. |
SITE_URL |
Public site URL, used for absolute Open Graph URLs. Falls back to VERCEL_PROJECT_PRODUCTION_URL. |
src/release.ts version, download URLs, sizes
src/lib/content.ts copy, themes, ember sparks
src/lib/demo.ts typing-terminal state machine
src/components/ one component per section
src/styles/global.css design tokens, buttons, keyframes
Animations respect prefers-reduced-motion: the typing terminal shows a static finished frame and the theme
switcher stops auto-cycling.