Landing page for OpenAlive — a lightweight, private Windows utility that keeps your session active.
Built with Astro (static output), deployed to GitHub Pages. The page always points to the latest release of opn-build/OpenAlive.
Two layers, no backend:
- Build-time fetch (
src/lib/release.js) — at build, the GitHub Releases API is queried and the version, installer URL, size and date are baked into the static HTML. Works with zero JS. In CI the call is authenticated withGITHUB_TOKENto avoid the API rate limit. Falls back to a hardcoded release if the API is unreachable. - Client refresh (
public/scripts/refresh.js) — on load, re-checks the API and updates the download button only if a newer version shipped since the last deploy. Fails silently, keeping the baked values.
A daily schedule in the deploy workflow rebuilds the site so the baked baseline never goes stale.
8 locales via Astro's native i18n (astro.config.mjs). Default (en) at /, others at /es/, /pt/, /fr/, /ja/, /zh/, /ko/, /ht/. Strings live in src/i18n/*.json; missing keys fall back to English automatically.
ja,zh,ko,htare pending native review — ideally reuse the app's own translation strings.
npm install
npm run dev # http://localhost:4321
npm run build # static output → dist/
npm run preview # serve the built siteGitHub Pages → Settings → Pages → Source: GitHub Actions. Pushing to main triggers .github/workflows/deploy.yml.
- App screenshots live in
src/assets/screenshots/(used by the Showcase section, optimized to responsive WebP at build). - App icon:
src/assets/icono.png. public/og-image.png— social share card (1200×630), referenced in<head>. Generated bynpm run og(scripts/generate-og.mjs): renders an SVG in the site's dark "signal" style withsharpand composites the real icon. Re-run after any branding change.
scripts/generate-og.mjsneeds Bricolage Grotesque installed for text rendering (e.g. drop the TTFs in~/.local/share/fontsand runfc-cache -f). The top-levelimages/folder is just the original source drop — the build and the OG script both read fromsrc/assets/, soimages/is safe to remove.
The landing page is MIT. OpenAlive is distributed under MIT (free install; source is private).