Landing

From The Hei Canon

landing is the static placeholder pages for Heiervang Technologies domains. One repo, one deploy, N domains: the browser reads location.hostname and looks up the matching entry in sites.js.

Stack: Plain HTML / CSS / ES modules — no build step. Host: Cloudflare Pages (heiervang-landing). Public repo.

Stack notes

  • Web Audio API — a one-shot intro.flac flows into a seamless loop.flac.
  • Hei PNG drifts on a <canvas> with a beat-locked color trail; beats derived from the loop's known tempo, so the slam lands on time without runtime FFT analysis.
  • Pixel-art slam typography (Press Start 2P) with glitch + chromatic aberration via ::before / ::after layers.
  • prefers-reduced-motion is respected two ways: CSS swaps the slam / beat-pulse / glitch-jitter for a calm fade-in, and main.js skips the ~6.7s pre-drop build-up.
  • Deploy is direct upload via wrangler pages deploy. Merging to main does not redeploy on its own — a manual deploy from a checkout of main is required.

Renderers

sites.js assigns each host a cfg.mode; index.html's inline dispatcher picks the entry module at load time:

  • defaultmain.js: mascot canvas + beat-locked color.
  • bombocbomboc.js: bomboc.lat, beat-reactive image + fire particles.
  • clankerclanker.js: clanker.lifestyle, fullscreen video loop.

Adding a domain

Append the host to SITES in sites.js, then attach the domain to the heiervang-landing Pages project. In dev contexts (localhost, *.pages.dev, *.github.io), preview any host's copy without DNS via ?host=example.com.

Sources

See also

  • Hei — the mascot on the mascot canvas.
  • Clanker — the clanker.lifestyle renderer target.
  • Bomboclat — the bomboc.lat renderer target.