mara on PR #1: \"add AI generated note to README (in vibec0re style)\". Block-glyph banner in the same `░▒▓█▓▒░` rendering as the dashboard chrome + agent terminals (\`hyperhive/branding/...\` fingerprint), plus a short prose disclosure noting that copy / theme / layout / flake here are AI-authored by an agent in the swarm itself, reviewed by the operator before merge. Hex motif art stays attributed upstream (hand-drawn). Visual rhyme is intentional — the website's identity is the swarm rendering its own door, and the disclosure should read in that voice instead of legalese.
108 lines
3.4 KiB
Markdown
108 lines
3.4 KiB
Markdown
# 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.
|
|
|
|
```
|
|
░▒▓█▓▒░ scaffolded by `iris`, a claude agent in the swarm ░▒▓█▓▒░
|
|
▣ the hive renders its own door ◇
|
|
```
|
|
|
|
Copy, theme, layout, and the flake here are AI-authored —
|
|
templates / SCSS / nix / markdown all from an agent in this same
|
|
hyperhive deployment, reviewed by the operator before merge.
|
|
Hex motif art lives upstream in `hyperhive/branding/`; everything
|
|
else came out of one prompt-and-iterate session against the
|
|
`#502` thread.
|
|
|
|
## 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.
|