Build static Astro pilot for Happy Tails
This commit is contained in:
@@ -1,64 +1,43 @@
|
||||
# Happy Tails Pet Care
|
||||
# Happy Tails Astro pilot
|
||||
|
||||
A professional website created for Happy Tails Pet Care using SloanOps template system.
|
||||
This repository is a static Astro pilot for `3031023.xyz`. The existing
|
||||
Cloudflare Pages site remains the rollback target while this branch is tested.
|
||||
|
||||
## Overview
|
||||
## Repository layout
|
||||
|
||||
This site was generated using the SloanOps client onboarding system and is designed for deployment to Cloudflare Pages via Gitea Actions CI/CD.
|
||||
- `sites/www/` is the primary-site content location; it serves `3031023.xyz`.
|
||||
- `sites/blog/` is the separate `blog.3031023.xyz` sample site.
|
||||
- `sites.json` is the operator-controlled manifest. It is not public intake.
|
||||
- `src/` contains shared Astro presentation code.
|
||||
- `schemas/` and `fixtures/` provide the Phase 1 JSON contract proof.
|
||||
|
||||
## Customization
|
||||
The blog is static JSON in this phase. Markdown content, CMS workflows, public
|
||||
sign-up changes, n8n changes, and onboarding-worker changes are deliberately
|
||||
out of scope.
|
||||
|
||||
### Content Updates
|
||||
- Edit HTML files in the root directory to update page content
|
||||
- Modify images in the `images/` directory
|
||||
- Update text content directly in HTML files
|
||||
## Local checks
|
||||
|
||||
### Styling
|
||||
- All colors, fonts, and spacing are controlled via CSS variables in `css/style.css`
|
||||
- To rebrand: modify the `:root` variables at the top of `css/style.css`
|
||||
- Font families can be changed in the HTML `<head>` section
|
||||
Use Node 22.
|
||||
|
||||
### Deployment
|
||||
Pushes to the `master` branch trigger automatic deployment to Cloudflare Pages.
|
||||
Preview deployments are created for all other branches.
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
3031023-xyz/
|
||||
├── index.html # Home page
|
||||
├── about.html # About page (if included)
|
||||
├── services.html # Services page (if included)
|
||||
├── products.html # Products page (if included)
|
||||
├── contact.html # Contact page
|
||||
├── css/
|
||||
│ └── style.css # All styles with CSS variables
|
||||
├── js/
|
||||
│ └── main.js # Interactive components (mobile menu, etc.)
|
||||
├── images/ # Image assets
|
||||
└── .gitea/
|
||||
└── workflows/
|
||||
└── deploy.yml # Cloudflare Pages CI/CD configuration
|
||||
```bash
|
||||
npm ci
|
||||
SITE_KEY=www npm run build:site
|
||||
SITE_KEY=www npm run verify:build
|
||||
SITE_KEY=blog npm run build:site
|
||||
SITE_KEY=blog npm run verify:build
|
||||
```
|
||||
|
||||
## Deployment Setup
|
||||
Each selected site builds to `dist/<site-key>/`. The Worker configurations use
|
||||
only static assets and a custom 404 page. They contain no custom domains,
|
||||
routes, account IDs, or secrets.
|
||||
|
||||
1. Ensure Cloudflare API token and account ID are configured as secrets in your Gitea repository:
|
||||
- `CF_API_TOKEN`: Your Cloudflare API token
|
||||
- `CF_ACCOUNT_ID`: Your Cloudflare account ID
|
||||
## Preview deployment
|
||||
|
||||
2. Push to the repository to trigger deployment:
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "Initial commit"
|
||||
git push origin master
|
||||
```
|
||||
The Gitea workflow deploys only a non-production Worker from the pilot branch:
|
||||
`3031023-xyz-www-preview` by default, or the manually selected `blog` site.
|
||||
It uses repository secrets `CF_WORKER_PREVIEW_TOKEN` and `CF_ACCOUNT_ID`.
|
||||
Routine jobs do not configure DNS or custom domains.
|
||||
|
||||
3. The site will be available at: https://3031023.xyz
|
||||
|
||||
## Maintenance
|
||||
|
||||
- Update content by editing HTML files
|
||||
- Update styling by modifying CSS variables in `css/style.css`
|
||||
- Add new images to the `images/` directory and reference them in HTML
|
||||
- For structural changes, modify the appropriate HTML template
|
||||
Production hostname attachment and the `www` redirect are manual,
|
||||
operator-controlled cutover steps. See `docs/pilot-baseline.md` for the
|
||||
rollback record.
|
||||
|
||||
Reference in New Issue
Block a user