Compare commits

..

3 Commits

Author SHA1 Message Date
Josh Patra
d59afd04e8 New Resume 2025-12-04 12:54:56 -05:00
Josh Patra
b323f146cf update vite 2025-11-25 10:14:26 -05:00
Josh Patra
90c2592e46 faster page loads 2025-11-25 10:13:19 -05:00
13 changed files with 46 additions and 27 deletions

31
package-lock.json generated
View File

@@ -9,6 +9,7 @@
"version": "0.0.1", "version": "0.0.1",
"devDependencies": { "devDependencies": {
"@sveltejs/adapter-auto": "^4.0.0", "@sveltejs/adapter-auto": "^4.0.0",
"@sveltejs/adapter-static": "^3.0.10",
"@sveltejs/kit": "^2.16.0", "@sveltejs/kit": "^2.16.0",
"@sveltejs/vite-plugin-svelte": "^5.0.0", "@sveltejs/vite-plugin-svelte": "^5.0.0",
"@tailwindcss/vite": "^4.0.0", "@tailwindcss/vite": "^4.0.0",
@@ -20,7 +21,7 @@
"svelte-eslint-parser": "^1.1.2", "svelte-eslint-parser": "^1.1.2",
"tailwindcss": "^4.0.0", "tailwindcss": "^4.0.0",
"typescript": "^5.8.3", "typescript": "^5.8.3",
"vite": "^6.2.5" "vite": "^6.4.1"
} }
}, },
"node_modules/@ampproject/remapping": { "node_modules/@ampproject/remapping": {
@@ -1039,10 +1040,20 @@
"@sveltejs/kit": "^2.0.0" "@sveltejs/kit": "^2.0.0"
} }
}, },
"node_modules/@sveltejs/adapter-static": {
"version": "3.0.10",
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.10.tgz",
"integrity": "sha512-7D9lYFWJmB7zxZyTE/qxjksvMqzMuYrrsyh1f4AlZqeZeACPRySjbC3aFiY55wb1tWUaKOQG9PVbm74JcN2Iew==",
"dev": true,
"license": "MIT",
"peerDependencies": {
"@sveltejs/kit": "^2.0.0"
}
},
"node_modules/@sveltejs/kit": { "node_modules/@sveltejs/kit": {
"version": "2.43.2", "version": "2.49.0",
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.43.2.tgz", "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.49.0.tgz",
"integrity": "sha512-M27eBoqWmU7dEpotMGBaA1CK6Y/wK1b176mVOkrSJZwt17bk6Z1IjLQv0iuVYm7D8d1Z/I4HzJ3hSqy8auj1Sw==", "integrity": "sha512-oH8tXw7EZnie8FdOWYrF7Yn4IKrqTFHhXvl8YxXxbKwTMcD/5NNCryUSEXRk2ZR4ojnub0P8rNrsVGHXWqIDtA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -2168,9 +2179,9 @@
} }
}, },
"node_modules/js-yaml": { "node_modules/js-yaml": {
"version": "4.1.0", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -3224,9 +3235,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/vite": { "node_modules/vite": {
"version": "6.3.6", "version": "6.4.1",
"resolved": "https://registry.npmjs.org/vite/-/vite-6.3.6.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz",
"integrity": "sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==", "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {

View File

@@ -13,6 +13,7 @@
}, },
"devDependencies": { "devDependencies": {
"@sveltejs/adapter-auto": "^4.0.0", "@sveltejs/adapter-auto": "^4.0.0",
"@sveltejs/adapter-static": "^3.0.10",
"@sveltejs/kit": "^2.16.0", "@sveltejs/kit": "^2.16.0",
"@sveltejs/vite-plugin-svelte": "^5.0.0", "@sveltejs/vite-plugin-svelte": "^5.0.0",
"@tailwindcss/vite": "^4.0.0", "@tailwindcss/vite": "^4.0.0",
@@ -24,6 +25,6 @@
"svelte-eslint-parser": "^1.1.2", "svelte-eslint-parser": "^1.1.2",
"tailwindcss": "^4.0.0", "tailwindcss": "^4.0.0",
"typescript": "^5.8.3", "typescript": "^5.8.3",
"vite": "^6.2.5" "vite": "^6.4.1"
} }
} }

2
src/routes/+layout.ts Normal file
View File

@@ -0,0 +1,2 @@
// Enable prerendering for all pages - generates static HTML at build time
export const prerender = true;

View File

@@ -6,7 +6,7 @@
name: "Josh Patra", name: "Josh Patra",
role: "Computer Science & Philosophy Student", role: "Computer Science & Philosophy Student",
bio: "Passionate about tackling complex problems through thoughtful and efficient solutions. I specialize in system architecture, IT infrastructure, and low-level programming in UNIX/Linux environments, with a strong foundation in C and systems-level problem-solving. I'm also experienced in Java and JavaScript, bringing versatility across both backend and frontend development. Currently pursuing a BS in Computer Science and Philosophy with a focus on systems and security.", bio: "Passionate about tackling complex problems through thoughtful and efficient solutions. I specialize in system architecture, IT infrastructure, and low-level programming in UNIX/Linux environments, with a strong foundation in C and systems-level problem-solving. I'm also experienced in Java and JavaScript, bringing versatility across both backend and frontend development. Currently pursuing a BS in Computer Science and Philosophy with a focus on systems and security.",
avatar: "/headshot_square.jpg", // Your profile image avatar: "/headshot_square.webp",
}; };
// Experience Data // Experience Data
@@ -39,7 +39,7 @@
"Real-time updates and notifications", "Real-time updates and notifications",
"Seamless meal-swipe trading experience with a responsive UI", "Seamless meal-swipe trading experience with a responsive UI",
], ],
image: "/RuSwipeShare.png", image: "/RuSwipeShare.webp",
}, },
{ {
name: "TrackCovid19", name: "TrackCovid19",
@@ -54,7 +54,7 @@
"Open source and easily editable in Android Studio", "Open source and easily editable in Android Studio",
"CI integrations for code quality and Gradle builds", "CI integrations for code quality and Gradle builds",
], ],
image: "/TrackCovid19.png", image: "/TrackCovid19.webp",
}, },
{ {
name: "BlueBubbles Contribution", name: "BlueBubbles Contribution",
@@ -68,7 +68,7 @@
"Collaborated closely with the open-source community", "Collaborated closely with the open-source community",
"Assisted in the deployment of a major desktop app release", "Assisted in the deployment of a major desktop app release",
], ],
image: "/BlueBubbles.png", image: "/BlueBubbles.webp",
}, },
{ {
name: "Terminal Portfolio", name: "Terminal Portfolio",
@@ -97,7 +97,7 @@
"Extension settings allow full customization of controls", "Extension settings allow full customization of controls",
"GPLv3 licensed and actively maintained", "GPLv3 licensed and actively maintained",
], ],
image: "/VideoSpeed.png", image: "/VideoSpeed.webp",
}, },
{ {
name: "Maisie Heardle", name: "Maisie Heardle",
@@ -118,7 +118,7 @@
"Deployed on Netlify with zero data collection", "Deployed on Netlify with zero data collection",
"Built to be easily modifiable for any artist", "Built to be easily modifiable for any artist",
], ],
image: "/MaisieHeardle.png", image: "/MaisieHeardle.webp",
}, },
{ {
name: "Fair Housing Map", name: "Fair Housing Map",
@@ -133,7 +133,7 @@
"Dynamic legend with zoom-to-overlay functionality", "Dynamic legend with zoom-to-overlay functionality",
"Fully responsive single-file project for easy integration", "Fully responsive single-file project for easy integration",
], ],
image: "/FairHousingMap.png", image: "/FairHousingMap.webp",
}, },
{ {
name: "BeReal Export Manager", name: "BeReal Export Manager",
@@ -148,7 +148,7 @@
"Fixes inconsistent BeReal timestamps using default timezone settings", "Fixes inconsistent BeReal timestamps using default timezone settings",
"Flexible command-line options with ExifTool integration", "Flexible command-line options with ExifTool integration",
], ],
image: "/BeRealExportManager.png", image: "/BeRealExportManager.webp",
}, },
]; ];
@@ -554,7 +554,7 @@
</p> </p>
<div class="flex flex-wrap gap-4"> <div class="flex flex-wrap gap-4">
<a <a
href="https://cloud.joshpatra.me/s/qTfJcm3Q7cCnaYy/download" href="https://cloud.joshpatra.me/s/7TcAf4FfwEiXcrF/preview"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
class="px-4 py-2 bg-green-600 hover:bg-green-700 text-white rounded-md transition" class="px-4 py-2 bg-green-600 hover:bg-green-700 text-white rounded-md transition"
@@ -592,6 +592,7 @@
src={project.image} src={project.image}
alt={project.name} alt={project.name}
class="w-full h-full object-cover" class="w-full h-full object-cover"
loading="lazy"
/> />
</div> </div>
<div class="p-6 flex flex-col flex-grow"> <div class="p-6 flex flex-col flex-grow">

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
static/BlueBubbles.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
static/FairHousingMap.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

BIN
static/MaisieHeardle.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
static/RuSwipeShare.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
static/TrackCovid19.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
static/VideoSpeed.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
static/headshot_square.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

View File

@@ -1,17 +1,21 @@
import adapter from '@sveltejs/adapter-auto'; import adapter from '@sveltejs/adapter-static';
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
/** @type {import('@sveltejs/kit').Config} */ /** @type {import('@sveltejs/kit').Config} */
const config = { const config = {
// Consult https://svelte.dev/docs/kit/integrations
// for more information about preprocessors
preprocess: vitePreprocess(), preprocess: vitePreprocess(),
kit: { kit: {
// adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. adapter: adapter({
// If your environment is not supported, or you settled on a specific environment, switch out the adapter. pages: 'build',
// See https://svelte.dev/docs/kit/adapters for more information about adapters. assets: 'build',
adapter: adapter() fallback: undefined,
precompress: true, // Generates .gz and .br files for even faster serving
strict: true
}),
prerender: {
handleHttpError: 'warn'
}
} }
}; };