Personal site and experiments for oriahulrich.com, built with Rust, Yew, and WebAssembly. GitHub Pages deploys the trunk release build from client/dist (see .github/workflows/rust.yml). The CNAME file points Pages at oriahulrich.com.
The Actix app under server/ is a small standalone HTTP playground (127.0.0.1:8081); production traffic for the domain is the static WASM site from CI.
rustup target add wasm32-unknown-unknown
cd client && trunk serveRelease build (matches CI):
cd client && trunk build --releasecd server && cargo runMaintainers: run this when you want to refresh client/public-footprint.html and a timestamped JSON dump of public API responses.
To snapshot public API responses for your own notes (output is gitignored):
python3 scripts/research_scrape.pyFiles appear under scraped/. The same command also regenerates client/public-footprint.html, a standalone page of key points and outbound links (copied into dist/ by Trunk for GitHub Pages).
This repo can use Git hooks to run checks before you push (for example actionlint on workflows).
- Enable hooks (run once after clone):
./scripts/install-hooks - List enabled hooks:
./scripts/list-hooks
Install actionlint (macOS):
brew install actionlint