72 lines
1.2 KiB
Markdown
72 lines
1.2 KiB
Markdown
# jetpham.com
|
|
|
|
Personal site for Jet Pham.
|
|
|
|
The site is a small Vite app with a terminal-style UI, ANSI-rendered text, and a Rust/WebAssembly Conway's Game of Life background.
|
|
|
|
## Features
|
|
|
|
- ASCII/ANSI-inspired visual style with the IBM VGA font
|
|
- Conway's Game of Life running in the background via Rust + WebAssembly
|
|
- Q+A page backed by the site API
|
|
- Single-file oriented frontend build with Vite
|
|
- Reduced-motion aware background controls with a static fallback mode
|
|
|
|
## Stack
|
|
|
|
- Vite
|
|
- TypeScript
|
|
- Tailwind CSS v4
|
|
- Rust + WebAssembly
|
|
- npm
|
|
|
|
## Development
|
|
|
|
### Prerequisites
|
|
|
|
- Node.js + npm
|
|
- Rust
|
|
- `wasm-pack`
|
|
- `wasm-opt` (used by `build:wasm`)
|
|
|
|
### Install
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
### Build the WASM package
|
|
|
|
```bash
|
|
npm run build:wasm
|
|
```
|
|
|
|
### Start the dev server
|
|
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
### Check the app
|
|
|
|
```bash
|
|
npm run check
|
|
```
|
|
|
|
### Build for production
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
## Structure
|
|
|
|
```text
|
|
src/ frontend app
|
|
cgol/ Rust + WASM Conway's Game of Life module
|
|
```
|
|
|
|
## Notes
|
|
|
|
- The homepage and Q+A page are the intended public pages.
|
|
- If WebAssembly fails or motion is disabled, the site falls back to a static background treatment.
|