diff --git a/package-lock.json b/package-lock.json index 0396564..f8936c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ "eslint-plugin-svelte": "^2.35.1", "flowbite": "^2.3.0", "flowbite-svelte": "^0.46.1", + "flowbite-svelte-icons": "^1.6.1", "postcss": "^8.4.38", "prettier": "^3.1.1", "prettier-plugin-svelte": "^3.1.2", @@ -2265,6 +2266,17 @@ "svelte": "^3.55.1 || ^4.0.0" } }, + "node_modules/flowbite-svelte-icons": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/flowbite-svelte-icons/-/flowbite-svelte-icons-1.6.1.tgz", + "integrity": "sha512-Kw/7BzA6fqlFq7tBNudwX0KVU4cbyyXcMcgHTraMwGBtvBQan0RKMbvWwqm4JZNvLGAvRv1BM2EF7rzo/oam1Q==", + "dev": true, + "peerDependencies": { + "svelte": "^3.54.0 || ^4.0.0 || ^5.0.0", + "tailwind-merge": "^2.0.0", + "tailwindcss": "^3.3.2" + } + }, "node_modules/foreground-child": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", diff --git a/package.json b/package.json index 60c2f7f..46a93d2 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "eslint-plugin-svelte": "^2.35.1", "flowbite": "^2.3.0", "flowbite-svelte": "^0.46.1", + "flowbite-svelte-icons": "^1.6.1", "postcss": "^8.4.38", "prettier": "^3.1.1", "prettier-plugin-svelte": "^3.1.2", diff --git a/src/app.css b/src/app.css index 4bae7d2..9366e48 100644 --- a/src/app.css +++ b/src/app.css @@ -6,5 +6,5 @@ body { transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; - @apply bg-stone-100 dark:bg-gray-900 text-slate-600 dark:text-stone-100 text-center; + @apply bg-stone-200 dark:bg-gray-900 text-gray-900 dark:text-stone-200 text-center; } diff --git a/src/lib/Commit.svelte b/src/lib/ProjectCard/Commit.svelte similarity index 82% rename from src/lib/Commit.svelte rename to src/lib/ProjectCard/Commit.svelte index fd73c23..a0572b2 100644 --- a/src/lib/Commit.svelte +++ b/src/lib/ProjectCard/Commit.svelte @@ -1,6 +1,5 @@ - + - {@html title} +

{@html title}

{pubAgo}

diff --git a/src/lib/ProjectCard/ProjectCard.svelte b/src/lib/ProjectCard/ProjectCard.svelte new file mode 100644 index 0000000..62ec92c --- /dev/null +++ b/src/lib/ProjectCard/ProjectCard.svelte @@ -0,0 +1,21 @@ + + +
+ + + + +
diff --git a/src/lib/ProjectCard/ProjectDescription.svelte b/src/lib/ProjectCard/ProjectDescription.svelte new file mode 100644 index 0000000..350caab --- /dev/null +++ b/src/lib/ProjectCard/ProjectDescription.svelte @@ -0,0 +1,5 @@ + + +

{@html description}

diff --git a/src/lib/ProjectCard/ProjectHeader.svelte b/src/lib/ProjectCard/ProjectHeader.svelte new file mode 100644 index 0000000..dd85586 --- /dev/null +++ b/src/lib/ProjectCard/ProjectHeader.svelte @@ -0,0 +1,6 @@ + + +

{title}

+
diff --git a/src/lib/ProjectCard/ProjectRepo.svelte b/src/lib/ProjectCard/ProjectRepo.svelte new file mode 100644 index 0000000..956ad07 --- /dev/null +++ b/src/lib/ProjectCard/ProjectRepo.svelte @@ -0,0 +1,23 @@ + + +
+
+ + + +

www

+
+
+ + + +

git

+
+
+ diff --git a/src/lib/RssContainer.svelte b/src/lib/ProjectCard/RssContainer.svelte similarity index 55% rename from src/lib/RssContainer.svelte rename to src/lib/ProjectCard/RssContainer.svelte index 9eda466..f0a358d 100644 --- a/src/lib/RssContainer.svelte +++ b/src/lib/ProjectCard/RssContainer.svelte @@ -4,6 +4,7 @@
-

Here are the 5 most recent commits

+

recent commits

+
diff --git a/src/lib/RssFeed.svelte b/src/lib/ProjectCard/RssFeed.svelte similarity index 96% rename from src/lib/RssFeed.svelte rename to src/lib/ProjectCard/RssFeed.svelte index 5cb779a..ad82a17 100644 --- a/src/lib/RssFeed.svelte +++ b/src/lib/ProjectCard/RssFeed.svelte @@ -1,6 +1,6 @@ -
+
{#if error}

Error: {error}

{:else if !feed} diff --git a/src/lib/ProjectCard/VendorGallery.svelte b/src/lib/ProjectCard/VendorGallery.svelte new file mode 100644 index 0000000..19955cc --- /dev/null +++ b/src/lib/ProjectCard/VendorGallery.svelte @@ -0,0 +1,14 @@ + + +
+

built with

+
+ {#each vendors as vendor} + + {/each} +
+
diff --git a/src/lib/ProjectCard/VendorIcon.svelte b/src/lib/ProjectCard/VendorIcon.svelte new file mode 100644 index 0000000..3c655ca --- /dev/null +++ b/src/lib/ProjectCard/VendorIcon.svelte @@ -0,0 +1,12 @@ + + + +
+ {name} +

{name}

+
+
diff --git a/src/lib/Projects.svelte b/src/lib/Projects.svelte new file mode 100644 index 0000000..69d1566 --- /dev/null +++ b/src/lib/Projects.svelte @@ -0,0 +1,11 @@ + + +{#each projects as project} + {#if project.category === category} + + {/if} +{/each} diff --git a/src/lib/images/vendorIcons/authjsIcon.webp b/src/lib/images/vendorIcons/authjsIcon.webp new file mode 100644 index 0000000..c4fef5b Binary files /dev/null and b/src/lib/images/vendorIcons/authjsIcon.webp differ diff --git a/src/lib/images/vendorIcons/drizzleIcon.webp b/src/lib/images/vendorIcons/drizzleIcon.webp new file mode 100644 index 0000000..b7904d7 Binary files /dev/null and b/src/lib/images/vendorIcons/drizzleIcon.webp differ diff --git a/src/lib/images/vendorIcons/flowbiteDark.svg b/src/lib/images/vendorIcons/flowbiteDark.svg new file mode 100644 index 0000000..3ecdb3e --- /dev/null +++ b/src/lib/images/vendorIcons/flowbiteDark.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lib/images/vendorIcons/flowbiteLight.svg b/src/lib/images/vendorIcons/flowbiteLight.svg new file mode 100644 index 0000000..3ecdb3e --- /dev/null +++ b/src/lib/images/vendorIcons/flowbiteLight.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lib/images/vendorIcons/nextjsIcon.svg b/src/lib/images/vendorIcons/nextjsIcon.svg new file mode 100644 index 0000000..fde6f96 --- /dev/null +++ b/src/lib/images/vendorIcons/nextjsIcon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/lib/images/vendorIcons/nextuiIcon.png b/src/lib/images/vendorIcons/nextuiIcon.png new file mode 100644 index 0000000..cd5ac1a Binary files /dev/null and b/src/lib/images/vendorIcons/nextuiIcon.png differ diff --git a/src/lib/images/vendorIcons/reactIcon.svg b/src/lib/images/vendorIcons/reactIcon.svg new file mode 100644 index 0000000..d7cb33c --- /dev/null +++ b/src/lib/images/vendorIcons/reactIcon.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/lib/images/vendorIcons/svelteIcon.svg b/src/lib/images/vendorIcons/svelteIcon.svg new file mode 100644 index 0000000..7cee5e1 --- /dev/null +++ b/src/lib/images/vendorIcons/svelteIcon.svg @@ -0,0 +1,2 @@ + +file_type_svelte \ No newline at end of file diff --git a/src/lib/images/vendorIcons/tailwindIcon.svg b/src/lib/images/vendorIcons/tailwindIcon.svg new file mode 100644 index 0000000..caf3793 --- /dev/null +++ b/src/lib/images/vendorIcons/tailwindIcon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/lib/images/vendorIcons/vercelIcon.svg b/src/lib/images/vendorIcons/vercelIcon.svg new file mode 100644 index 0000000..6b77948 --- /dev/null +++ b/src/lib/images/vendorIcons/vercelIcon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/lib/projects.js b/src/lib/projects.js new file mode 100644 index 0000000..3ce98ab --- /dev/null +++ b/src/lib/projects.js @@ -0,0 +1,122 @@ +import svelteIcon from '$lib/images/vendorIcons/svelteIcon.svg'; +import tailwindIcon from '$lib/images/vendorIcons/tailwindIcon.svg'; +import vercelIcon from '$lib/images/vendorIcons/vercelIcon.svg'; +import flowbiteLight from '$lib/images/vendorIcons/flowbiteLight.svg'; +import reactIcon from '$lib/images/vendorIcons/reactIcon.svg'; +import nextjsIcon from '$lib/images/vendorIcons/nextjsIcon.svg'; +import nextuiIcon from '$lib/images/vendorIcons/nextuiIcon.png'; +import authjsIcon from '$lib/images/vendorIcons/authjsIcon.webp'; +import drizzleIcon from '$lib/images/vendorIcons/drizzleIcon.webp'; + +export const projects = [ + { + category: 'svelte', + title: 'Portfolio', + url: 'https://rannes.dev', + description: + 'This project was initially to get familiar with Svelte and showcase my future projects. I find myself that I keep coming back to expand on it whenever I need a break from React.', + repo: 'https://gitea.rannes.dev/rannes.dev/my-portfolio', + rss: 'https://gitea.rannes.dev/rannes.dev/my-portfolio.rss', + image: '', + vendors: [ + { + name: 'Svelte', + img: svelteIcon, + url: 'https://svelte.dev/' + }, + { + name: 'Tailwind', + img: tailwindIcon, + url: 'https://tailwindcss.com/' + }, + { + name: 'Flowbite', + img: flowbiteLight, + url: 'https://flowbite-svelte.com//' + }, + { + name: 'Vercel', + img: vercelIcon, + url: 'https://vercel.com/' + } + ] + }, + { + category: 'nextjs', + title: 'Scaffolding the next project.', + url: 'https://titles-psi.vercel.app/', + description: + 'I am exploring different librarys for ui, auth, ORM etc. for my next project. This time it is deployed to vercel, but I am still using workflows.', + repo: 'https://gitea.rannes.dev/rannes.dev/titles', + rss: 'https://gitea.rannes.dev/rannes.dev/titles.rss', + image: '', + vendors: [ + { + name: 'React', + img: reactIcon, + url: 'https://react.dev/' + }, + { + name: 'Next.js', + img: nextjsIcon, + url: 'https://nextjs.org/' + }, + { + name: 'Auth.js', + img: authjsIcon, + url: 'https://authjs.dev/' + }, + { + name: 'Nextui', + img: nextuiIcon, + url: 'https://nextui.org/' + }, + { + name: 'Tailwind', + img: tailwindIcon, + url: 'https://tailwindcss.com/' + }, + { + name: 'Drizzle', + img: drizzleIcon, + url: 'https://orm.drizzle.team/' + }, + { + name: 'Vercel', + img: vercelIcon, + url: 'https://vercel.com/' + } + ] + }, + { + category: 'nextjs', + title: 'Local weather', + url: 'https://weather.rannes.dev', + description: 'A simple application to fetch a weekly weather forecast.', + repo: 'https://gitea.rannes.dev/rannes.dev/local-weather', + rss: 'https://gitea.rannes.dev/rannes.dev/local-weather.rss', + image: '', + vendors: [ + { + name: 'React', + img: reactIcon, + url: 'https://react.dev/' + }, + { + name: 'Next.js', + img: nextjsIcon, + url: 'https://nextjs.org/' + }, + { + name: 'Tailwind', + img: tailwindIcon, + url: 'https://tailwindcss.com/' + }, + { + name: 'Vercel', + img: vercelIcon, + url: 'https://vercel.com/' + } + ] + } +]; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index c040d14..8b76c7a 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -16,7 +16,7 @@ }, { name: 'portfolio', - subPages: ['learnings', 'svelte', 'next.js', 'homelab'] + subPages: ['svelte', 'next.js', 'homelab'] }, { name: 'contact', @@ -62,7 +62,7 @@ {/if} {/each} - + {#key selected}
    {#each selected.subPages as subPage} @@ -72,11 +72,11 @@ {/each}
{/key} -
+
-
+