|
1 | 1 | # DPnimo11.github.io |
2 | 2 |
|
3 | | -Personal portfolio site, built with Astro and deployed to GitHub Pages. |
| 3 | +Personal portfolio site for Darren Wang. Built with a restrained, tactile lab-notebook aesthetic to showcase computational biology research, systems code, ML/data projects, and web applications. |
4 | 4 |
|
5 | | -## Tech |
| 5 | +## Tech Stack |
6 | 6 |
|
7 | | -- Astro static site |
8 | | -- Plain CSS in `src/styles/global.css` |
9 | | -- Project content in `src/data/projects.ts` |
10 | | -- Static assets in `public/` |
11 | | -- GitHub Actions deployment to Pages |
12 | | - |
13 | | -## Local Development |
14 | | - |
15 | | -Requires Node `>=22.12.0`. |
16 | | - |
17 | | -```bash |
18 | | -npm install |
19 | | -npm run dev |
20 | | -``` |
21 | | - |
22 | | -Optional local environment: |
23 | | - |
24 | | -```bash |
25 | | -PUBLIC_MAPBOX_TOKEN=your_mapbox_public_token |
26 | | -``` |
27 | | - |
28 | | -The Spark Social Map demo uses Mapbox Static Images when this token is present. |
29 | | -Without it, the site still builds and shows the map fallback state. |
30 | | - |
31 | | -Build locally: |
32 | | - |
33 | | -```bash |
34 | | -npm run build |
35 | | -``` |
36 | | - |
37 | | -Preview the production build: |
38 | | - |
39 | | -```bash |
40 | | -npm run preview |
41 | | -``` |
42 | | - |
43 | | -## Editing |
44 | | - |
45 | | -- Home page: `src/pages/index.astro` |
46 | | -- About page: `src/pages/about.astro` |
47 | | -- Project data: `src/data/projects.ts` |
48 | | -- Project detail template: `src/pages/projects/[slug].astro` |
49 | | -- Shared visual styling: `src/styles/global.css` |
| 7 | +- **Framework**: [Astro](https://astro.build/) (Static Site Generation) |
| 8 | +- **3D Graphics**: [Three.js](https://threejs.org/) (used for the interactive Hybrid Data Stream Helix and ambient graphics) |
| 9 | +- **Styling**: Vanilla CSS (zero-dependency global partials with CSS variables) |
| 10 | +- **Content**: Type-safe data registries (`src/data/projects.ts`) |
| 11 | +- **Demos**: Embedded interactive components, Mapbox Static Images API integrations, and Vanilla JS simulators |
| 12 | +- **Hosting**: GitHub Pages |
50 | 13 |
|
51 | 14 | ## Deployment |
52 | 15 |
|
53 | | -Pushes to `main` trigger `.github/workflows/deploy.yml`, which builds the Astro site and deploys `dist/` through GitHub Pages Actions. |
54 | | - |
55 | | -GitHub Pages should be configured to deploy from Actions. |
56 | | - |
57 | | -For the Spark map preview in production, set `PUBLIC_MAPBOX_TOKEN` as a GitHub |
58 | | -Actions secret or repository variable. The workflow passes it through only at |
59 | | -build time. |
| 16 | +Pushes to the `main` branch automatically trigger the `.github/workflows/deploy.yml` pipeline. This securely injects necessary environment variables (like `PUBLIC_MAPBOX_TOKEN`), compiles the Astro site, and deploys the fully optimized static bundle through GitHub Pages Actions. |
0 commit comments