From 1744466b2b1ee90274ba9151b0a227724fb2b4f1 Mon Sep 17 00:00:00 2001 From: Joakim Repomaa Date: Thu, 19 Feb 2026 18:21:11 +0200 Subject: [PATCH] improve pdf layout and add profile pics --- package-lock.json | 21 +++++++ package.json | 1 + src/lib/components/Header.svelte | 19 ++++-- src/lib/components/PDFContent.svelte | 88 ++++++++++++--------------- src/lib/components/PDFSection.svelte | 2 +- src/lib/content/profile.json | 2 + src/lib/content/types.ts | 2 + src/lib/media/avatar.jpg | Bin 0 -> 1117 bytes src/lib/media/profile-picture.jpg | Bin 0 -> 33064 bytes src/routes/admin/+page.svelte | 7 +++ 10 files changed, 87 insertions(+), 55 deletions(-) create mode 100644 src/lib/media/avatar.jpg create mode 100644 src/lib/media/profile-picture.jpg diff --git a/package-lock.json b/package-lock.json index face2eb..56cb2c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,6 +27,7 @@ "puppeteer": "^24.37.3", "svelte": "^5.51.0", "svelte-check": "^4.1.0", + "svelte-feather-icons": "^4.2.0", "tailwindcss": "^4.1.18", "tslib": "^2.8.1", "typescript": "^5.9.3", @@ -3964,6 +3965,26 @@ "typescript": ">=5.0.0" } }, + "node_modules/svelte-feather-icons": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/svelte-feather-icons/-/svelte-feather-icons-4.2.0.tgz", + "integrity": "sha512-KuMTDrL6sA8aCxBv3RMgmmnnyIaAXaYcmWkmNa2r2Qj70vi+An2T6ZBAdiZr6wjx+a3eZJy+FRseeRkzQFGHPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "svelte": "^3.38.2" + } + }, + "node_modules/svelte-feather-icons/node_modules/svelte": { + "version": "3.59.2", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.59.2.tgz", + "integrity": "sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, "node_modules/tailwindcss": { "version": "4.1.18", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", diff --git a/package.json b/package.json index 22451f2..9aa5acb 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "puppeteer": "^24.37.3", "svelte": "^5.51.0", "svelte-check": "^4.1.0", + "svelte-feather-icons": "^4.2.0", "tailwindcss": "^4.1.18", "tslib": "^2.8.1", "typescript": "^5.9.3", diff --git a/src/lib/components/Header.svelte b/src/lib/components/Header.svelte index 586632c..47b41a7 100644 --- a/src/lib/components/Header.svelte +++ b/src/lib/components/Header.svelte @@ -8,12 +8,19 @@
-

- {profile.name} -

-

- {profile.title} -

+
+ {#if profile.avatar} + {profile.name} + {/if} +
+

+ {profile.name} +

+

+ {profile.title} +

+
+

{profile.summary}

diff --git a/src/lib/components/PDFContent.svelte b/src/lib/components/PDFContent.svelte index 5bceb3e..a02b2db 100644 --- a/src/lib/components/PDFContent.svelte +++ b/src/lib/components/PDFContent.svelte @@ -4,6 +4,8 @@ import PDFSection from './PDFSection.svelte'; import PDFTags from './PDFTags.svelte'; import PDFTimelineItem from './PDFTimelineItem.svelte'; + import profilePicture from '$lib/media/profile-picture.jpg'; + import { MailIcon, MapPinIcon, GithubIcon, GlobeIcon } from 'svelte-feather-icons'; let { profile, @@ -26,54 +28,44 @@ class="font-sans max-w-[210mm] mx-auto px-[20mm] py-[18mm] bg-pdf-bg text-pdf-fg leading-relaxed text-sm" > -
-
-

- {profile.name} -

-

{profile.title}

-
-
- {#if profile.email} - - - - - - {profile.email} - - {/if} - - - - - - {profile.location} - -
-
- {#if profile.github} - github.com/{profile.github} - {/if} - {#if profile.website} - {profile.website.replace(/^https?:\/\//, '')} - {/if} +
+
+
+

+ {profile.name} +

+

{profile.title}

+
+ {#if profile.email} + + + {profile.email} + + {/if} + + + {profile.location} + + {#if profile.github} + + + github.com/{profile.github} + + {/if} + {#if profile.website} + + + {profile.website.replace(/^https?:\/\//, '')} + + {/if} +
+
+
+ {profile.name} +
diff --git a/src/lib/components/PDFSection.svelte b/src/lib/components/PDFSection.svelte index 22f979d..c74a702 100644 --- a/src/lib/components/PDFSection.svelte +++ b/src/lib/components/PDFSection.svelte @@ -9,7 +9,7 @@ let { title, children }: Props = $props(); -
+

{title}

diff --git a/src/lib/content/profile.json b/src/lib/content/profile.json index f76a5ae..c44b38c 100644 --- a/src/lib/content/profile.json +++ b/src/lib/content/profile.json @@ -5,5 +5,7 @@ "location": "Espoo - Finnland", "website": "https://joakim.repomaa.com", "github": "repomaa", + "avatar": "src/lib/media/avatar.jpg", + "profilePicture": "src/lib/media/profile-picture.jpg", "summary": "Senior Full-Stack Engineer with deep expertise in Ruby on Rails backends, React/TypeScript frontends, and GraphQL/REST API design. Experienced in AI integration, third-party API integrations, and analyzing large-scale data systems. Fluent in German, Finnish, and English. Passionate about system architecture, performance optimization, clean code, and pragmatic technical decision-making in fast-paced product environments." } diff --git a/src/lib/content/types.ts b/src/lib/content/types.ts index c1086e2..cb26dfc 100644 --- a/src/lib/content/types.ts +++ b/src/lib/content/types.ts @@ -9,6 +9,8 @@ export interface Profile { website?: string; github: string; summary: string; + avatar?: string; + profilePicture?: string; } export interface Experience { diff --git a/src/lib/media/avatar.jpg b/src/lib/media/avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ab696579c7cd277b13a1a4be09e40e60e851536e GIT binary patch literal 1117 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

s^+D(9E|5I>ToXSJl@^KID}UH)lI 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 qeWQ|L6X)e