diff --git a/bun.lockb b/bun.lockb index b2bf9fc..0f88f1c 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 35cbb2a..5d8b569 100644 --- a/package.json +++ b/package.json @@ -15,20 +15,21 @@ "devDependencies": { "@sveltejs/adapter-auto": "^3.3.1", "@sveltejs/adapter-static": "^3.0.8", - "@sveltejs/kit": "^2.14.0", + "@sveltejs/kit": "^2.15.1", "@sveltejs/vite-plugin-svelte": "^4.0.4", "autoprefixer": "^10.4.20", "bits-ui": "^1.0.0-next.74", "clsx": "^2.1.1", "install": "^0.13.0", - "lucide-svelte": "^0.439.0", + "lucide-svelte": "^0.469.0", "mode-watcher": "^0.5.0", "prettier": "^3.4.2", "prettier-plugin-svelte": "^3.3.2", "prettier-plugin-tailwindcss": "^0.6.9", - "svelte": "^5.15.0", + "simple-icons": "^14.0.0", + "svelte": "^5.16.0", "svelte-check": "^4.1.1", - "tailwind-merge": "^2.5.5", + "tailwind-merge": "^2.6.0", "tailwind-variants": "^0.3.0", "tailwindcss": "^3.4.17", "tailwindcss-animate": "^1.0.7", diff --git a/src/app.css b/src/app.css index 5130460..fbd6e01 100644 --- a/src/app.css +++ b/src/app.css @@ -90,8 +90,11 @@ h3 { @apply scroll-m-20 text-2xl font-semibold tracking-tight; } + h4 { + @apply scroll-m-20 text-xl font-semibold tracking-tight; + } p { - @apply leading-7; + @apply text-base leading-7; } ul { @apply list-inside list-disc leading-7; diff --git a/src/lib/components/icons/BlueSky.svelte b/src/lib/components/icons/BlueSky.svelte new file mode 100644 index 0000000..b9a5a63 --- /dev/null +++ b/src/lib/components/icons/BlueSky.svelte @@ -0,0 +1,28 @@ + + + + + diff --git a/src/lib/components/icons/Discord.svelte b/src/lib/components/icons/Discord.svelte new file mode 100644 index 0000000..8216b7e --- /dev/null +++ b/src/lib/components/icons/Discord.svelte @@ -0,0 +1,28 @@ + + + + + diff --git a/src/lib/components/icons/Instagram.svelte b/src/lib/components/icons/Instagram.svelte new file mode 100644 index 0000000..7375eb0 --- /dev/null +++ b/src/lib/components/icons/Instagram.svelte @@ -0,0 +1,28 @@ + + + + + diff --git a/src/lib/components/ui/accordion/accordion-content.svelte b/src/lib/components/ui/accordion/accordion-content.svelte new file mode 100644 index 0000000..4a3b884 --- /dev/null +++ b/src/lib/components/ui/accordion/accordion-content.svelte @@ -0,0 +1,24 @@ + + + +
+ {@render children?.()} +
+
diff --git a/src/lib/components/ui/accordion/accordion-item.svelte b/src/lib/components/ui/accordion/accordion-item.svelte new file mode 100644 index 0000000..640a466 --- /dev/null +++ b/src/lib/components/ui/accordion/accordion-item.svelte @@ -0,0 +1,12 @@ + + + diff --git a/src/lib/components/ui/accordion/accordion-trigger.svelte b/src/lib/components/ui/accordion/accordion-trigger.svelte new file mode 100644 index 0000000..6fb11b3 --- /dev/null +++ b/src/lib/components/ui/accordion/accordion-trigger.svelte @@ -0,0 +1,29 @@ + + + + svg]:rotate-180', + className + )} + {...restProps} + > + {@render children?.()} + + + diff --git a/src/lib/components/ui/accordion/index.ts b/src/lib/components/ui/accordion/index.ts new file mode 100644 index 0000000..0734d4e --- /dev/null +++ b/src/lib/components/ui/accordion/index.ts @@ -0,0 +1,17 @@ +import { Accordion as AccordionPrimitive } from 'bits-ui'; +import Content from './accordion-content.svelte'; +import Item from './accordion-item.svelte'; +import Trigger from './accordion-trigger.svelte'; +const Root = AccordionPrimitive.Root; + +export { + Root, + Content, + Item, + Trigger, + // + Root as Accordion, + Content as AccordionContent, + Item as AccordionItem, + Trigger as AccordionTrigger +}; diff --git a/src/lib/index.ts b/src/lib/index.ts index 06b9bff..4b48409 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -15,6 +15,19 @@ export const skills = [ { name: 'Git & GitHub', icon: '🔧', url: 'https://github.com/' } ]; +import { Github, Mail } from 'lucide-svelte'; +import BlueSky from '$lib/components/icons/BlueSky.svelte'; +import Discord from '$lib/components/icons/Discord.svelte'; +import Instagram from '$lib/components/icons/Instagram.svelte'; + +export const socials = [ + { name: 'GitHub', url: 'https://github.com/nwrenger', icon: Github }, + { name: 'BlueSky', url: 'https://bsky.app/profile/nilch.bsky.social', icon: BlueSky }, + { name: 'Discord', url: 'https://discordlookup.com/user/567331495484719134', icon: Discord }, + { name: 'Instagram', url: 'https://www.instagram.com/_nilch', icon: Instagram }, + { name: 'Mails', url: 'mailto:nils@wrenger.net', icon: Mail } +]; + export const projects = [ { title: 'console-utils-rs', diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index ffbb150..90af103 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -56,7 +56,7 @@ -
+
{@render children?.()}
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 26fecb0..48324b2 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,10 +1,11 @@ - portfolio + Portfolio Rust enthusiast passionate about coding. I've worked on various projects so far, so look for that under Projects. Feel free to reach out for a chat about coding or - anything else via email at - nils@wrenger.net! + anything else!

-
-

Skills

-

- My focus is on UI development (websites, apps, and TUIs) and performance-driven projects like - algorithms and databases. Therefore, my proficiency lies in Rust and in - Svelte - (i.e., JavaScript / TypeScript). But in the past, I have tried out - other programming languages like Go and - Python, or even a game engine like - Godot, so keep your eyes peeled! Or just check out the list below: -

- + + + {/each} +
+ + -
-

Sponsor Me

-

- You can also sponsor me - here on GitHub - to support my work and to get some cool perks like early access to certain projects! -

-
+ +

Sponsor Me?

+ +

+ You can also sponsor me + + here on GitHub + + to support my work and to get some cool perks like early access to certain projects! +

+
+
+ diff --git a/src/routes/projects/+page.svelte b/src/routes/projects/+page.svelte index 3bdc61d..52f8a12 100644 --- a/src/routes/projects/+page.svelte +++ b/src/routes/projects/+page.svelte @@ -26,7 +26,7 @@
{#each projects as { title, summary, picture, description, link, archived }}