hatch-surf/site
Riley Zhang 6e7d01234e feat(site): add anime.js v4 magic background, remove Three.js
- Replace Three.js canvas with anime.js magic background layers (aurora, runes, orbs, sparkles, cursor glow)
- Update script tags to anime.js v4 UMD via jsDelivr CDN
- Add magic background CSS to style.css
- Update main.js with 6-layer anime.js v4 background implementation
- Update blog pages with same magic background
- Removed Three.js dependency

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-24 09:14:46 +02:00
..
blog feat(site): add anime.js v4 magic background, remove Three.js 2026-06-24 09:14:46 +02:00
brand Add static site for hatch.sh with blog post 2026-06-23 09:53:50 +02:00
.dockerignore Dockerize hatch.surf homepage 2026-06-24 07:52:29 +02:00
docker-compose.yml Dockerize hatch.surf homepage 2026-06-24 07:52:29 +02:00
Dockerfile Dockerize hatch.surf homepage 2026-06-24 07:52:29 +02:00
index.html feat(site): add anime.js v4 magic background, remove Three.js 2026-06-24 09:14:46 +02:00
main.js feat(site): add anime.js v4 magic background, remove Three.js 2026-06-24 09:14:46 +02:00
README.md Dockerize hatch.surf homepage 2026-06-24 07:52:29 +02:00
style.css feat(site): add anime.js v4 magic background, remove Three.js 2026-06-24 09:14:46 +02:00

Hatch Static Site

This directory contains the static site for hatch.sh.

Structure

site/
├── index.html              # Landing page
├── style.css               # Global styles
├── blog/
│   ├── index.html          # Blog index
│   └── why-we-are-building-hatch/
│       └── index.html      # Blog post
└── brand/
    ├── og/
    │   └── default.png     # Open Graph image
    └── favicon/
        ├── favicon.ico
        └── favicon-*.png   # Various sizes

Deployment

The site is automatically deployed to GitHub Pages via the deploy-site.yml workflow when changes are pushed to the main branch.

GitHub Pages Setup

  1. Go to repository Settings → Pages
  2. Source: Deploy from a branch
  3. Branch: main, folder: /site
  4. Custom domain: hatch.sh

DNS Configuration

To point hatch.sh to GitHub Pages:

  1. Add these DNS records:

    • Type: A, Name: @, Value: 185.199.108.153
    • Type: A, Name: @, Value: 185.199.109.153
    • Type: A, Name: @, Value: 185.199.110.153
    • Type: A, Name: @, Value: 185.199.111.153
    • Type: AAAA, Name: @, Value: 2606:50c0:8000::153
    • Type: AAAA, Name: @, Value: 2606:50c0:8001::153
    • Type: AAAA, Name: @, Value: 2606:50c0:8002::153
    • Type: AAAA, Name: @, Value: 2606:50c0:8003::153
  2. Enable HTTPS in GitHub Pages settings

301 Redirect from GitHub README

Add this to the README.md or as a GitHub Pages redirect:

<!-- In site/index.html or a dedicated redirect page -->
<meta http-equiv="refresh" content="0; url=/blog/why-we-are-building-hatch/">

Or use a JavaScript redirect for better SEO:

// In a script tag or separate JS file
window.location.replace('/blog/why-we-are-building-hatch/');

Local Development

To preview the site locally:

cd site
python3 -m http.server 8000
# Open http://localhost:8000

Or with Node.js:

npx serve site

Docker

To run the site in Docker:

cd site
# Build and run with docker compose
docker compose up -d

# Or build and run with docker
docker build -t hatch-homepage .
docker run -d -p 3000:80 hatch-homepage

The site will be available at http://localhost:3000

To stop the container:

docker compose down
# Or
docker stop $(docker ps -q --filter ancestor=hatch-homepage)

SEO Checklist

  • H1 = title
  • Meta description ≤ 160 chars
  • Primary keyword in first 200 words
  • OG image set
  • Internal link to repo
  • Canonical URL set
  • Semantic HTML
  • Mobile responsive
  • Fast loading (static HTML/CSS)

Adding New Posts

  1. Create a new directory under blog/
  2. Create an index.html file with the post content
  3. Update blog/index.html to include the new post
  4. Follow the same HTML structure as existing posts