faster page loads
11
package-lock.json
generated
@@ -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",
|
||||||
@@ -1039,6 +1040,16 @@
|
|||||||
"@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.43.2",
|
||||||
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.43.2.tgz",
|
"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.43.2.tgz",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
2
src/routes/+layout.ts
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
// Enable prerendering for all pages - generates static HTML at build time
|
||||||
|
export const prerender = true;
|
||||||
@@ -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",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -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">
|
||||||
|
|||||||
BIN
static/BeRealExportManager.webp
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
static/BlueBubbles.webp
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
static/FairHousingMap.webp
Normal file
|
After Width: | Height: | Size: 165 KiB |
BIN
static/MaisieHeardle.webp
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
static/RuSwipeShare.webp
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
static/TrackCovid19.webp
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
static/VideoSpeed.webp
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
static/headshot_square.webp
Normal file
|
After Width: | Height: | Size: 141 KiB |
@@ -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'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||