# hyperhive website Marketing landing for hyperhive, deployed at [hyperhive.darkest.space](https://hyperhive.darkest.space). Built with [Zola](https://www.getzola.org/), the Rust static site generator. Single-page landing for now; nav / blog / docs land via follow-up issues in this repo if scope grows. ## Build ```sh # one-shot build to ./public nix build .#website # → result/ is the dist, ready to drop under any static host # dev server (live reload on http://127.0.0.1:1111/) nix develop zola serve ``` ## Layout ``` config.toml # zola config (single source of truth for site meta) content/_index.md # landing page copy — edit here for prose changes templates/ base.html # base layout (head, footer, og tags) index.html # landing template extending base sass/ main.scss # theme — Catppuccin Mocha + amber accent static/ hyperhive.svg # single canonical hex motif — favicon + og:image # + inline hero (via Zola `load_data`) flake.nix # `nix build` → site dist, `nix develop` → zola shell ``` ## Deploy The build output is a plain `public/` directory of static files — drop it under any HTTP server's docroot. nginx vhost example for serving it at `hyperhive.darkest.space`: ```nginx server { listen 80; listen [::]:80; server_name hyperhive.darkest.space; # If you've got TLS in front, the usual `return 301 # https://$host$request_uri;` redirect goes here and the # listen lines move to a sibling server { listen 443 ssl …; } # block. Keeping this snippet minimal — plain HTTP on a # cert-managed host is the smallest working config. # Point at wherever `nix build .#website && cp -r result/. …` # lands. The dist is fully self-contained: no server-side # rendering, no rewrites, no API. root /var/www/hyperhive-website; index index.html; location / { try_files $uri $uri/ =404; } # 7-day cache on the immutable assets (SVG, CSS, fonts). # `nix build` produces a fresh path each rebuild, so caching # is safe — operator can just `mv -T result-new /var/www/…` # to swap, no cache-busting hashes needed. location ~* \.(svg|css|js|woff2|png|ico)$ { expires 7d; add_header Cache-Control "public, immutable"; } } ``` If you're running NixOS, the equivalent module config is: ```nix services.nginx.virtualHosts."hyperhive.darkest.space" = { enableACME = true; forceSSL = true; root = "${pkgs.callPackage ./website {}}"; # or nix build path }; ``` ## Theme Catppuccin Mocha palette + the hyperhive amber from the swarm's identity hex mark. Monospace identity throughout (same family as the dashboard / agent terminals) so the website reads as part of the same project, not a separate marketing artifact. Theme variables live in `sass/main.scss` (single source of truth). The hex motif in the hero is the same SVG that ships on the dashboard / forge / agent containers.