# Cantera HOA Website

Official static website for **Cantera HOA** (legal name: **Wilshire Estates Homeowners Association**, dba Cantera) in **northwest Lubbock, Texas**.

- **Live site:** https://canterahoa.com  
- **Also:** https://www.canterahoa.com · https://cantera-hoa.pages.dev  
- **Local source:** `C:\Users\ianh\Documents\Cantera\` (Windows)

This README is written for **humans and AI agents** who need to edit, redeploy, or extend the site without rediscovering context.

---

## Quick start for agents

1. Read **this file** (`README.md`) for project context.
2. Read **`style.md`** (same content as `DESIGN.md`) for colors, type, components, and do/don’t rules.
3. Edit **`index.html`** (single-page site; CSS/JS inlined).
4. Keep asset **filenames** stable — HTML uses relative paths.
5. Redeploy to Cloudflare Pages (see [Deploy](#deploy-cloudflare-pages)).

Public “shadow” links on the homepage (visually hidden, crawlable) point at:

- `/README.md`
- `/style.md`
- `/DESIGN.md`

So a recursive wget/mirror of the site can pull maintainer docs:

```bash
wget --mirror --convert-links --adjust-extension --page-requisites \
  --no-parent https://canterahoa.com/
# or specifically:
wget https://canterahoa.com/README.md
wget https://canterahoa.com/style.md
```

---

## What this site is

| Item | Detail |
|------|--------|
| Brand | Cantera |
| Legal association | Wilshire Estates Homeowners Association |
| Location | Northwest Lubbock, Lubbock County, TX |
| Subdivision | Wilshire Estates Unit I (Phase One) PUD |
| Lots | 1–79, Block 1 |
| Streets | Wilshire Blvd, Windsor Ct, Woodstone Ct, Amesbury Ct, Wyndam Ct |
| Hosting | Cloudflare Pages project `cantera-hoa` |
| Domain zone | `canterahoa.com` (DNS on Cloudflare) |
| Management | Goodwin & Company |
| Phone | 855-289-6007 |
| Email | info@goodwintx.com |
| Mgmt address | 6306 Erskine St, Lubbock, TX 79416 |
| Resident portal | https://dwset.sites.townsq.io/ |
| Goodwin | https://goodwin-co.com/ |

### Current featured event

- **HOA Meeting**
- **Monday, November 17 · 6:00 PM**
- **Location:** soon to be announced
- Page anchors: top ribbon + section `#hoa-meeting`

Do **not** invent board names, dues, amenities, or policies that are not in the PDFs or provided by the user.

---

## Repository / folder layout

```
Cantera/
├── index.html                 # Main site (self-contained)
├── README.md                  # This file — agent/project context
├── style.md                   # Design system (human + agent style guide)
├── DESIGN.md                  # Same design system (DESIGN.md token format)
├── entrance.jpg               # Hero / monument
├── Wilshire_Street.jpg
├── blvd.jpg
├── Wilshire_airel.jpg         # Aerial lot map (filename spelling intentional)
├── wilshire_plat.jpg          # Plat drawing (large)
├── bylaws.pdf                 # Amended & Restated Bylaws
├── Wilshire Restrictions.pdf  # CC&Rs (space in filename — link as %20)
├── _cf_dist/                  # Optional staging folder for Pages deploys
└── _update_site.py            # One-off helper scripts (not required on live site)
```

### Deploy bundle (what goes to Cloudflare)

Upload public site files only:

- `index.html`
- All `.jpg` / `.pdf` assets referenced by the page
- `README.md`, `style.md`, `DESIGN.md` (for agent wget discovery)
- Optional `_headers` (cache/security headers for Pages)

Do **not** need to publish helper scripts like `_update_site.py`.

---

## Design system

Full tokens and rules live in **`style.md`** / **`DESIGN.md`**.

Summary:

- **Navy** `#1a2b4a` — brand, headings, primary UI  
- **Cream** `#f8f4ed` — page background  
- **Limestone** `#c9b8a0` — secondary accent  
- **Event clay** `#c45b2c` — announcement ribbon / event CTAs only  
- **Display font:** Cormorant Garamond  
- **Body font:** Source Sans 3  
- Photography-first; avoid generic SaaS/AI-slop layouts  

When changing visual tokens, update **both** `:root` in `index.html` **and** `style.md` / `DESIGN.md`.

---

## Page structure (`index.html`)

1. Event ribbon (global)
2. Sticky nav
3. Hero `#top`
4. Featured event `#hoa-meeting`
5. About `#about`
6. Stats strip
7. Gallery `#neighborhood`
8. Map `#map`
9. Documents `#documents`
10. Contact `#contact`
11. Footer
12. Hidden docs nav (README / style / DESIGN)

Preserve anchor IDs when editing; nav and CTAs depend on them.

---

## Content sources

| Need | Source |
|------|--------|
| Bylaws, membership, voting | `bylaws.pdf` |
| CC&Rs, lots, easements, restrictions | `Wilshire Restrictions.pdf` |
| Photos | JPEGs in this folder |
| Management contacts | Goodwin public info (verify before changing) |
| Events | User-provided copy only |

---

## Deploy (Cloudflare Pages)

**Project:** `cantera-hoa`  
**Account ID:** `9dd10b552a1c62076eb4ea612ec45c75`  
**Production URL:** https://canterahoa.com  

### Auth

Set a Cloudflare API token with Pages edit (+ Zone DNS edit if changing records):

```bash
export CLOUDFLARE_API_TOKEN='…'
export CLOUDFLARE_ACCOUNT_ID='9dd10b552a1c62076eb4ea612ec45c75'
```

Never commit tokens. Prefer short-lived tokens; revoke after use.

### Deploy commands (Windows-friendly paths)

```bash
SRC="C:/Users/ianh/Documents/Cantera"
DIST="C:/Users/ianh/Documents/Cantera/_cf_dist"
rm -rf "$DIST" && mkdir -p "$DIST"

cp "$SRC/index.html" "$DIST/"
cp "$SRC/"*.jpg "$DIST/" 2>/dev/null || true
cp "$SRC/bylaws.pdf" "$DIST/"
cp "$SRC/Wilshire Restrictions.pdf" "$DIST/"
cp "$SRC/README.md" "$DIST/"
cp "$SRC/style.md" "$DIST/"
cp "$SRC/DESIGN.md" "$DIST/"

# optional: copy _headers if present
test -f "$SRC/_cf_dist/_headers" && cp "$SRC/_cf_dist/_headers" "$DIST/" || true

npx wrangler@4 pages deploy "C:/Users/ianh/Documents/Cantera/_cf_dist" \
  --project-name=cantera-hoa \
  --branch=main \
  --commit-dirty=true \
  --commit-message="Update Cantera HOA site"
```

### DNS notes

Apex and `www` should CNAME (proxied) to `cantera-hoa.pages.dev`.  
Keep existing **MX** / **TXT** (Google mail, SPF, site verification) unless explicitly changing email.

---

## Local preview

```bash
cd "C:/Users/ianh/Documents/Cantera"
python -m http.server 8765
# open http://127.0.0.1:8765/
```

---

## Editing checklist

- [ ] No invented HOA facts  
- [ ] Event ribbon + `#hoa-meeting` section stay in sync  
- [ ] Phone links use `tel:+18552896007`  
- [ ] PDF with space linked as `Wilshire%20Restrictions.pdf`  
- [ ] `style.md` and `DESIGN.md` stay aligned after design changes  
- [ ] Shadow links to README/style/DESIGN remain in `index.html`  
- [ ] Redeploy Pages after publishable changes  
- [ ] Spot-check https://canterahoa.com and a PDF/image URL  

---

## Change log

| Date | Change |
|------|--------|
| 2026-08-05 | Initial site, DESIGN.md, Cloudflare Pages + canterahoa.com |
| 2026-08-05 | Block party removed; HOA meeting Nov 17 6pm (location TBA); README + style.md; shadow links for wget |

---

## Contact for site work

Site maintained for the association. Operational HOA questions go to **Goodwin & Company** (see Contact section on the live site), not the static host config.
