wilddragon-site/README.md
Zac Gaetano 54fc4bb356 Sync repo to live wilddragon.net deployment
Live site had drifted from the repo: it serves prebuilt minified bundles
(app/components/tweaks-panel.min.js), vendored React, robots.txt and
sitemap.xml, with root-relative asset paths and an apex canonical.

- index.html: replaced with the live served copy
- app.jsx: App root extracted from the old inline text/babel block
- build.sh: esbuild step producing the *.min.js bundles
- vendor/: React 18.3 production UMDs pulled from live
- robots.txt, sitemap.xml: pulled from live
- Dockerfile: ship built bundles + vendor, drop raw jsx/standalone
2026-09-18 07:50:09 -04:00

2.2 KiB

wilddragon-site

Source for wilddragon.net — Zachary Gaetano's portfolio: broadcast systems design, integration & commissioning.

Stack

Single-page React app. Sources are .jsx; ./build.sh minifies them with esbuild into *.min.js, which index.html loads alongside vendored React (vendor/). Rebuild after editing any .jsx.

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
app.jsx             — App root: tweaks state, hash router, mounts sections
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
vendor/             — React 18 production UMD builds (no CDN)
robots.txt, sitemap.xml
build.sh            — esbuild: *.jsx -> *.min.js
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