Personal website of Shicheng Rao, built with Hugo and the Ananke theme (vendored as a git submodule), deployed on Netlify.
git clone --recurse-submodules git@github.com:ShichengRao/personal-website.git
cd personal-website
hugo serverIf you cloned without submodules, run git submodule update --init first.
hugo server serves the site at http://localhost:1313 with live reload. No npm
install is needed to build or serve the site.
| Path | Purpose |
|---|---|
content/ |
Page content and front matter (homepage project cards live in content/_index.md) |
layouts/ |
Custom templates: homepage projects grid, the self-contained Hangul practice app, favicon partial |
static/ |
Files copied verbatim into the site: resume PDF, favicons |
config.toml |
Site config, nav menu, SEO settings |
netlify.toml |
Build command, pinned Hugo version, redirects, security headers |
themes/ananke/ |
Theme submodule — don't edit; override in layouts/ instead |
plans/ |
Product notes for side projects |
tests/ |
Node smoke test (npm test) |
public/ and resources/ are Hugo build output and are not tracked.
- Every push to
maindeploys via Netlify: it runshugoand publishespublic/. - GitHub Actions (
.github/workflows/ci.yml) builds the site on PRs and pushes tomain, using the same Hugo version Netlify pins. - The Hugo version is pinned in two places —
netlify.tomlandci.yml— keep them in sync when upgrading. - Old URLs (
/church/,/vine/,/deskbooks/,/livestream/, the dated resume filename) are 301-redirected innetlify.toml; add a redirect there before removing or renaming any public path.