Next.js 16 marketing site for Rhema. Static-only — no API routes, no server actions. Deployed to GitHub Pages on push to main.
cd web
bun install
bun run devOpens http://localhost:3029.
bun run buildOutputs a static site to web/out/.
Pushes to main that touch web/** trigger .github/workflows/deploy-web.yml, which builds the static export and publishes it to GitHub Pages at https://openrhema.com.
To trigger a deploy without code changes (e.g., to refresh the GitHub stars count baked into the page), use the Run workflow button on the Deploy web to GitHub Pages action in the GitHub UI.
PRs touching web/** run the build job only (no deploy) as a smoke test.
output: "export"innext.config.ts— static export is required for GitHub Pages. Anything that needs a Node server (route handlers, server actions, ISR,next/imageoptimization) will fail the build.- Self-hosted fonts under
public/fonts/. Referenced fromapp/globals.cssvia absolute paths — do not introduce abasePath, it does not rewrite CSSurl()values. getGitHubStars()runs at build time. Authenticated viaGITHUB_TOKENin CI to avoid the 60/hr unauthenticated rate limit; falls back to a hardcoded count if the API call fails.