# wilddragon-site Source for [wilddragon.net](https://www.wilddragon.net/) — Zachary Gaetano's portfolio: broadcast systems design, integration & commissioning. ## Stack Single-page React app, no build step. React + Babel are loaded from CDN; the app is rendered from `.jsx` files at runtime. ``` index.html — entry point (loads CSS + JS + components, mounts App) styles.css — all styles data.js — site copy (about, stats, services, tech stack, on-set, etc.) projects-data.js — case study content for each project components.jsx — every section component + project overlay tweaks-panel.jsx — in-page Tweaks panel (accent presets, fonts, density, toggles) images/ — photos, client logos, partner logos llms.txt — machine-readable site summary for LLM crawlers standalone.html — fully self-contained single-file build (all images base64'd in) ``` ## Serve **Docker (production / persistent):** ``` docker compose up -d --build ``` Container `wilddragon-site` exposes nginx on port `43036`. Nginx Proxy Manager fronts it for `wilddragon.net`. **Local quick check:** ``` python3 -m http.server 8081 ``` Then open . ## Single-file build `standalone.html` is a portable, fully offline copy of the site — everything (images, CSS, JS) inlined. Open it directly in a browser or hand it to a client. It's regenerated from the source files via the Claude Design bundler; edits should be made to the source files in this repo, then a new bundle exported. ## Editing - Copy / project content → `data.js`, `projects-data.js` - Layout & section components → `components.jsx` - Visual tokens (colors, spacing, etc.) → `styles.css` and the `:root` block; runtime tweaks also live in `tweaks-panel.jsx` and the `TWEAKS_DEFAULTS` block at the bottom of `index.html` - Images → drop into `images/` and reference by relative path