wilddragon-site/README.md
Zachary Gaetano 6d901522d0 Add nginx Docker setup for persistent serving on :43036
- Dockerfile: nginx:1.27-alpine, copies static files + nginx.conf
- nginx.conf: gzip, long cache for images, short cache for HTML/JS,
  SPA fallback to index.html (hash router handles /#/projects/<slug>)
- docker-compose.yml: restart unless-stopped, healthcheck on :43036
- README: docker compose up -d --build

Keeps port 43036 so the existing nginx-proxy-manager route for
wilddragon.net (-> :43036) keeps working without reconfig.
2026-05-12 11:02:55 +00:00

48 lines
1.9 KiB
Markdown

# 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 <http://localhost:8081/>.
## 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