Static portfolio site. No build step, no dependencies.
home-page/
├── index.html # Main page (about, experience, projects, publications)
├── css/styles.css # All styles (light + dark theme)
├── js/main.js # Nav toggle, theme switcher, year, scroll spy
├── scripts/generate_rss.py # RSS feed generator
├── blog/ # Standard English posts + RSS
├── en-hyl/blog/ # English teaching-style variants + dedicated RSS
├── zh-Hant/blog/ # Traditional Chinese posts + RSS
└── zh-Hant-hyl/blog/ # Traditional Chinese teaching-style variants
Any static file server works. From this directory:
# Python
python3 -m http.server 8000
# Node
npx serve .Then open http://localhost:8000.
- Copy
blog/orchestrating-coding-agents.htmltoblog/your-slug.html - Update
<title>,<meta description>, the<h1>, thepost__metadate, and the body - Create the matching pages in the other three variant directories and add the slug to all four indexes
- Add reciprocal
hreflangmetadata and visible version links to the four-page cluster - Run
python3 scripts/generate_rss.pyto update the standard, localized, and teaching-style feeds - Run
python3 tests/validate_rss.pyandpython3 tests/validate_variants.py
- Colors / fonts: top of
css/styles.css(:rootblock, plus[data-theme="dark"]) - Contact links: search for
linkedin.com/in/arthur-yau,github.com/imitation-alpha, andx.com/imitation_alphaand replace as needed - Sections: edit
index.html; sections are clearly delimited with comments
This is a plain static site — drop it anywhere.
- GitHub Pages: push to a repo, enable Pages on the
mainbranch root - Vercel:
vercel deployfrom this directory (no config needed) - Netlify: drag the folder onto netlify.com/drop, or connect a repo
- Cloudflare Pages: connect a repo; build command is empty, output dir is
/
- Theme preference is stored in a cookie (no
localStorage), so it survives across visits - All asset paths are relative — site works from any subpath
- RSS feeds are generated from committed blog HTML metadata with
python3 scripts/generate_rss.py