diff --git a/package-lock.json b/package-lock.json index f860007..a2703ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.1", "devDependencies": { "@sveltejs/adapter-auto": "^4.0.0", + "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/kit": "^2.16.0", "@sveltejs/vite-plugin-svelte": "^5.0.0", "@tailwindcss/vite": "^4.0.0", @@ -1039,6 +1040,16 @@ "@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": { "version": "2.43.2", "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.43.2.tgz", diff --git a/package.json b/package.json index 2ac375f..30d2fa8 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ }, "devDependencies": { "@sveltejs/adapter-auto": "^4.0.0", + "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/kit": "^2.16.0", "@sveltejs/vite-plugin-svelte": "^5.0.0", "@tailwindcss/vite": "^4.0.0", diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts new file mode 100644 index 0000000..5748ab2 --- /dev/null +++ b/src/routes/+layout.ts @@ -0,0 +1,2 @@ +// Enable prerendering for all pages - generates static HTML at build time +export const prerender = true; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 2fe91d1..a4102cd 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -6,7 +6,7 @@ name: "Josh Patra", 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.", - avatar: "/headshot_square.jpg", // Your profile image + avatar: "/headshot_square.webp", }; // Experience Data @@ -39,7 +39,7 @@ "Real-time updates and notifications", "Seamless meal-swipe trading experience with a responsive UI", ], - image: "/RuSwipeShare.png", + image: "/RuSwipeShare.webp", }, { name: "TrackCovid19", @@ -54,7 +54,7 @@ "Open source and easily editable in Android Studio", "CI integrations for code quality and Gradle builds", ], - image: "/TrackCovid19.png", + image: "/TrackCovid19.webp", }, { name: "BlueBubbles Contribution", @@ -68,7 +68,7 @@ "Collaborated closely with the open-source community", "Assisted in the deployment of a major desktop app release", ], - image: "/BlueBubbles.png", + image: "/BlueBubbles.webp", }, { name: "Terminal Portfolio", @@ -97,7 +97,7 @@ "Extension settings allow full customization of controls", "GPLv3 licensed and actively maintained", ], - image: "/VideoSpeed.png", + image: "/VideoSpeed.webp", }, { name: "Maisie Heardle", @@ -118,7 +118,7 @@ "Deployed on Netlify with zero data collection", "Built to be easily modifiable for any artist", ], - image: "/MaisieHeardle.png", + image: "/MaisieHeardle.webp", }, { name: "Fair Housing Map", @@ -133,7 +133,7 @@ "Dynamic legend with zoom-to-overlay functionality", "Fully responsive single-file project for easy integration", ], - image: "/FairHousingMap.png", + image: "/FairHousingMap.webp", }, { name: "BeReal Export Manager", @@ -148,7 +148,7 @@ "Fixes inconsistent BeReal timestamps using default timezone settings", "Flexible command-line options with ExifTool integration", ], - image: "/BeRealExportManager.png", + image: "/BeRealExportManager.webp", }, ]; @@ -592,6 +592,7 @@ src={project.image} alt={project.name} class="w-full h-full object-cover" + loading="lazy" />
diff --git a/static/BeRealExportManager.webp b/static/BeRealExportManager.webp new file mode 100644 index 0000000..ecfbe26 Binary files /dev/null and b/static/BeRealExportManager.webp differ diff --git a/static/BlueBubbles.webp b/static/BlueBubbles.webp new file mode 100644 index 0000000..b92cfbb Binary files /dev/null and b/static/BlueBubbles.webp differ diff --git a/static/FairHousingMap.webp b/static/FairHousingMap.webp new file mode 100644 index 0000000..a41bb6c Binary files /dev/null and b/static/FairHousingMap.webp differ diff --git a/static/MaisieHeardle.webp b/static/MaisieHeardle.webp new file mode 100644 index 0000000..ba498cf Binary files /dev/null and b/static/MaisieHeardle.webp differ diff --git a/static/RuSwipeShare.webp b/static/RuSwipeShare.webp new file mode 100644 index 0000000..68d91bf Binary files /dev/null and b/static/RuSwipeShare.webp differ diff --git a/static/TrackCovid19.webp b/static/TrackCovid19.webp new file mode 100644 index 0000000..9124e86 Binary files /dev/null and b/static/TrackCovid19.webp differ diff --git a/static/VideoSpeed.webp b/static/VideoSpeed.webp new file mode 100644 index 0000000..2df927f Binary files /dev/null and b/static/VideoSpeed.webp differ diff --git a/static/headshot_square.webp b/static/headshot_square.webp new file mode 100644 index 0000000..9976c72 Binary files /dev/null and b/static/headshot_square.webp differ diff --git a/svelte.config.js b/svelte.config.js index 1295460..efc7c78 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,17 +1,21 @@ -import adapter from '@sveltejs/adapter-auto'; +import adapter from '@sveltejs/adapter-static'; import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; /** @type {import('@sveltejs/kit').Config} */ const config = { - // Consult https://svelte.dev/docs/kit/integrations - // for more information about preprocessors preprocess: vitePreprocess(), kit: { - // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. - // If your environment is not supported, or you settled on a specific environment, switch out the adapter. - // See https://svelte.dev/docs/kit/adapters for more information about adapters. - adapter: adapter() + adapter: adapter({ + pages: 'build', + assets: 'build', + fallback: undefined, + precompress: true, // Generates .gz and .br files for even faster serving + strict: true + }), + prerender: { + handleHttpError: 'warn' + } } };