diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..4f2b6ae --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,56 @@ +name: "Deployment to GitHub Pages on push" +on: + push: + branches: ['3.0.0'] + workflow_dispatch: + +# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow one concurrent deployment +concurrency: + group: 'pages' + cancel-in-progress: true + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Set up Node + uses: actions/setup-node@v3 + + - name: Install pnpm + run: npm install --global pnpm + + - name: "Install pnpm" + run: pnpm install + + - name: Cache .pnpm-store + uses: actions/cache@v2 + with: + path: ~/.pnpm-store + key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm- + + - name: "Build project" + run: pnpm build + + - name: Setup Pages + uses: actions/configure-pages@v3 + + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + # Upload dist repository + path: './dist' + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8391d87..f46091f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,7 +59,7 @@ importers: version: 5.19.5 svelte-check: specifier: ^4.1.1 - version: 4.1.4(svelte@5.19.5)(typescript@5.6.3) + version: 4.1.4(picomatch@4.0.2)(svelte@5.19.5)(typescript@5.6.3) tailwind-merge: specifier: ^2.6.0 version: 2.6.0 @@ -1241,6 +1241,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -2367,7 +2371,9 @@ snapshots: dependencies: reusify: 1.0.4 - fdir@6.4.3: {} + fdir@6.4.3(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 fill-range@7.1.1: dependencies: @@ -2599,6 +2605,9 @@ snapshots: picomatch@2.3.1: {} + picomatch@4.0.2: + optional: true + pify@2.3.0: {} pirates@4.0.6: {} @@ -2752,11 +2761,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.1.4(svelte@5.19.5)(typescript@5.6.3): + svelte-check@4.1.4(picomatch@4.0.2)(svelte@5.19.5)(typescript@5.6.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 4.0.3 - fdir: 6.4.3 + fdir: 6.4.3(picomatch@4.0.2) picocolors: 1.1.1 sade: 1.8.1 svelte: 5.19.5 diff --git a/public/files/Hsu Natalie Resume.pdf b/public/files/Hsu Natalie Resume.pdf new file mode 100644 index 0000000..ee1b991 Binary files /dev/null and b/public/files/Hsu Natalie Resume.pdf differ diff --git a/public/data/projects.tsv b/public/files/projects.tsv similarity index 100% rename from public/data/projects.tsv rename to public/files/projects.tsv diff --git a/public/projects/gtex.png b/public/projects/gtex.png new file mode 100644 index 0000000..ba5e251 Binary files /dev/null and b/public/projects/gtex.png differ diff --git a/public/projects/mm.png b/public/projects/mm.png new file mode 100644 index 0000000..5f9c0a0 Binary files /dev/null and b/public/projects/mm.png differ diff --git a/public/projects/pattern.png b/public/projects/pattern.png new file mode 100644 index 0000000..73aeaeb Binary files /dev/null and b/public/projects/pattern.png differ diff --git a/src/App.svelte b/src/App.svelte index ff6e36c..7836638 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -9,23 +9,28 @@ import Nav from "$lib/components/Nav.svelte"; import { ModeWatcher } from "mode-watcher"; - import { Button, Pagination } from "bits-ui"; + import { Button } from "bits-ui"; - let projectsPath: string = '/data/projects.tsv'; + let projectsPath: string = "/files/projects.tsv"; let projects: [] = []; + let numProjects: number; + + function imagePath(fileName: string): string { + return `/projects/${fileName}`; + } - onMount(async () => { try { d3.tsv(projectsPath, (d: ProjectImport) => { return { - fileName: d['File Name'], - title: d['Title'], - desc: d['Description'], - url: d['URL'], + fileName: d["File Name"], + title: d["Title"], + desc: d["Description"], + url: d["URL"], }; }).then((data: any) => { projects = data; + numProjects = Object.entries(projects).length; }); } catch (error) { console.error("Error loading TSV file:", error); @@ -47,7 +52,7 @@ -
Within my current position,
++ Outside of my work, I am a daughter, sister, friend, and enjoyer of the + creative and food scene. When I have the opportunity to do so (on a + meeting-free dat), I enjoy trying different roasts at different cafés + while enjoying the city of Boston to fuel my remote work. Otherwise, + you'll find me sketching something in my Moleskine or iPad or trying + different web technologies within my personal projects. +
-