No description
Find a file
2026-08-02 14:32:45 +10:00
public Initial commit: personal website (Astro) 2026-07-13 19:41:30 +10:00
src update changes 2026-08-02 14:32:45 +10:00
.dockerignore Initial commit: personal website (Astro) 2026-07-13 19:41:30 +10:00
.gitignore Initial commit: personal website (Astro) 2026-07-13 19:41:30 +10:00
astro.config.mjs Initial commit: personal website (Astro) 2026-07-13 19:41:30 +10:00
Dockerfile Initial commit: personal website (Astro) 2026-07-13 19:41:30 +10:00
package-lock.json Initial commit: personal website (Astro) 2026-07-13 19:41:30 +10:00
package.json Initial commit: personal website (Astro) 2026-07-13 19:41:30 +10:00
README.md Initial commit: personal website (Astro) 2026-07-13 19:41:30 +10:00

Maoran (Andy) Li — personal site

A small Astro static site. Warm-editorial, minimalist, dark by default with a light toggle.

Run it

cd website
npm install        # first time only
npm run dev        # live preview at http://localhost:4321

Build & deploy

npm run build      # outputs static files to ./dist

Point your Caddy root at website/dist and serve with file_server. Example:

your-domain {
    root * /path/to/website/dist
    encode zstd gzip
    file_server
}

Nothing server-side runs — dist/ is plain HTML/CSS/JS.

How to make changes (the common stuff)

I want to… Edit this file
Add / change a publication src/data/publications.js
Add / reorder a photo or video src/data/galleries.js (drop the file in public/assets/… first)
Change nav links src/components/Nav.astro
Change footer src/components/Footer.astro
Edit About / Home text src/pages/about.astro, src/pages/index.astro
Colours, fonts, spacing src/styles/global.css (the :root design tokens at the top)

Spots marked ✏️ in src/pages/about.astro and src/data/publications.js are left for you to personalise.

Project layout

website/
├── public/            # served as-is at the site root
│   ├── assets/img/    #   photos
│   ├── assets/video/  #   videos + posters
│   └── cv/CV.pdf
├── src/
│   ├── layouts/Base.astro      # <head>, nav, footer, scripts — one place
│   ├── components/             # Nav, Footer, Pub (paper card), Gallery
│   ├── data/                   # publications.js, galleries.js  ← edit these
│   ├── pages/                  # index / about / research / life
│   ├── styles/global.css       # all styling + design tokens
│   └── scripts/main.js         # theme toggle, mobile nav, reveal, lightbox
├── astro.config.mjs
└── package.json