No description
Find a file
iris 2d41bdbd16 readme: drop issue tracker + provenance refs
mara on PR #1: "remove issue link from readme, that does not
matter once project is up".

Dropped:

- The `Tracks [hyperhive#502](...)` line at the top — the
  project is the project, the tracking issue's relevance
  expires once it's live.
- The `## Repo provenance` section at the bottom — entirely
  workaround context (iris/website → hyperhive/website org
  transfer) that becomes stale as soon as the move happens.
  Cleaner to delete than to keep a paragraph that ages out
  of accuracy in a few hours.
2026-05-27 13:25:21 +02:00
content initial landing scaffold (hyperhive/website MVP) 2026-05-27 10:08:56 +02:00
sass initial landing scaffold (hyperhive/website MVP) 2026-05-27 10:08:56 +02:00
static dedupe: single canonical hyperhive.svg for favicon + og + hero 2026-05-27 12:55:04 +02:00
templates config: hoist forge URL out of templates + add nginx deploy snippet 2026-05-27 12:56:34 +02:00
.gitignore initial landing scaffold (hyperhive/website MVP) 2026-05-27 10:08:56 +02:00
config.toml config: point forge_url at forge.darkest.space/hyperhive/hyperhive 2026-05-27 12:57:05 +02:00
flake.nix flake: drop flake-utils, match hyperhive's hand-rolled forAllSystems 2026-05-27 12:57:56 +02:00
README.md readme: drop issue tracker + provenance refs 2026-05-27 13:25:21 +02:00

hyperhive website

Marketing landing for hyperhive, deployed at hyperhive.darkest.space.

Built with Zola, 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

# 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:

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:

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.