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
52 lines
2.2 KiB
Markdown
52 lines
2.2 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. 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
|