Landing
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.flacflows into a seamlessloop.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/::afterlayers. prefers-reduced-motionis respected two ways: CSS swaps the slam / beat-pulse / glitch-jitter for a calm fade-in, andmain.jsskips the ~6.7s pre-drop build-up.- Deploy is direct upload via
wrangler pages deploy. Merging tomaindoes not redeploy on its own — a manual deploy from a checkout ofmainis required.
Renderers
sites.js assigns each host a cfg.mode; index.html's inline dispatcher picks the entry module at load time:
- default —
main.js: mascot canvas + beat-locked color. - bomboc —
bomboc.js:bomboc.lat, beat-reactive image + fire particles. - clanker —
clanker.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.