project-cards #5

Merged
christian merged 6 commits from project-cards into main 2024-05-19 21:35:50 +00:00
16 changed files with 196 additions and 18 deletions
Showing only changes of commit 41beb7e975 - Show all commits

View File

@ -0,0 +1,21 @@
<script>
import ProjectDescription from './ProjectDescription.svelte';
import ProjectHeader from './ProjectHeader.svelte';
import ProjectRepo from './ProjectRepo.svelte';
import VendorGallery from './VendorGallery.svelte';
//Props
export let title;
export let url;
export let description;
export let repo;
export let rss;
export let vendors;
</script>
<div>
<ProjectHeader {title} />
<VendorGallery {vendors} />
<ProjectDescription {description} />
<ProjectRepo {repo} {rss} />
</div>

View File

@ -0,0 +1,5 @@
<script>
export let title;
</script>
<h3 class="text-2xl">{title}</h3>

View File

@ -0,0 +1,6 @@
<script>
import RssContainer from './RssContainer.svelte';
export let rss;
</script>
<RssContainer url={rss} />

View File

@ -1,5 +1,5 @@
<script>
import RssFeed from './RssFeed.svelte';
import RssFeed from '../RssFeed.svelte';
export let url;
</script>

View File

@ -1,6 +1,6 @@
<script>
import { onMount } from 'svelte';
import Spinner from './Spinner.svelte';
import Spinner from '../Spinner.svelte';
import Commit from './Commit.svelte';
import { Accordion } from 'flowbite-svelte';

View File

11
src/lib/Projects.svelte Normal file
View File

@ -0,0 +1,11 @@
<script>
import { projects } from '$lib/projects.js';
import ProjectCard from './ProjectCard/ProjectCard.svelte';
export let category;
</script>
{#each projects as project}
{#if project.category === category}
<ProjectCard {...project} />
{/if}
{/each}

View File

@ -0,0 +1,49 @@
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M49.0391 25.8854C48.8909 26.9063 48.2177 28.2932 47.4454 29.4991C46.471 31.0206 44.9247 32.0863 43.1551 32.4563L35.3597 34.0864C34.1068 34.3484 32.9707 35.0041 32.1177 35.9576L27.0064 41.671C26.0457 42.7447 25.3744 42.4887 25.3744 41.0485C25.3627 41.1019 22.8376 47.614 29.5295 51.4739C32.1008 52.957 35.802 52.4241 38.3732 50.941L51.997 43.0828C57.092 40.144 60.6893 35.1724 61.885 29.4174C61.9323 29.1897 61.9688 28.9613 62.0083 28.733L49.0391 25.8854Z" fill="url(#paint0_linear_1_55)"/>
<path d="M45.5059 18.0358C48.0771 19.5189 49.1277 21.7269 49.1276 24.6931C49.1276 25.0958 49.096 25.4936 49.0391 25.8854L54.5285 28.2434L62.0083 28.7329C62.966 23.1899 61.0891 17.4844 57.7242 12.9493C55.192 9.53637 51.9336 6.57463 48.0164 4.31512C44.8343 2.47968 41.5275 1.27038 38.2052 0.606812L34.4724 5.44082L33.2932 10.9915L45.5059 18.0358Z" fill="url(#paint1_linear_1_55)"/>
<path d="M1.56719 22.1036C1.5658 22.108 1.56966 22.1092 1.57112 22.1049C1.85917 21.2409 2.22036 20.2771 2.67128 19.2474C5.02669 13.8686 9.56572 10.2812 15.1498 8.45216C20.7339 6.62311 26.831 7.26425 31.9203 10.1998L33.293 10.9916L38.205 0.606824C22.5819 -2.51353 6.61456 6.66507 1.58706 22.0434C1.58465 22.0508 1.57591 22.0765 1.56719 22.1036Z" fill="url(#paint2_linear_1_55)"/>
<path d="M37.8396 50.9409C35.2684 52.424 32.1005 52.424 29.5293 50.9409C29.1803 50.7396 28.8512 50.5132 28.5401 50.2682L24.018 53.3771L20.1205 59.6753C24.4466 63.2755 30.0641 64.4329 35.6778 63.7892C39.9024 63.3048 44.0989 61.9665 48.0162 59.707C51.1983 57.8715 53.9 55.6151 56.1363 53.0724L53.8124 47.4257L50.0523 43.8966L37.8396 50.9409Z" fill="url(#paint3_linear_1_55)"/>
<path d="M28.5401 50.2682C26.5591 48.7077 25.3742 46.3143 25.3742 43.7508V43.4951V22.1448C25.3742 20.9374 25.7299 20.7321 26.7766 21.3359C25.1645 20.406 21.4404 17.214 16.8422 19.8662C14.271 21.3493 12.1537 24.6231 12.1537 27.5892V43.3057C12.1537 49.1833 15.198 55.3145 19.5888 59.2265C19.7625 59.3812 19.9423 59.5271 20.1205 59.6753L28.5401 50.2682Z" fill="url(#paint4_linear_1_55)"/>
<path d="M55.8209 10.6248C55.8178 10.6214 55.8147 10.6241 55.8178 10.6275C56.4227 11.3087 57.0776 12.1032 57.7447 13.0081C61.2296 17.7354 62.5317 23.7228 61.3252 29.4687C60.1186 35.2146 56.5143 40.1693 51.4251 43.1048L50.0523 43.8966L56.1363 53.0724C66.6528 41.1154 66.68 22.711 55.8631 10.672C55.8579 10.6663 55.8401 10.6459 55.8209 10.6248Z" fill="url(#paint5_linear_1_55)"/>
<path d="M12.6871 27.5893C12.6871 24.6231 14.271 21.8823 16.8423 20.3992C17.1913 20.1978 17.552 20.0263 17.92 19.8796L17.4861 14.4127L14.4372 8.15784C9.15342 10.1007 4.8794 14.1159 2.63056 19.2948C0.938193 23.1921 1.9584e-05 27.4921 0 32.0111C0 35.682 0.605098 39.1477 1.69106 42.354L7.74782 43.1666L12.6871 41.6779V27.5893Z" fill="url(#paint6_linear_1_55)"/>
<path d="M17.9201 19.8796C20.2632 18.9459 22.9304 19.1174 25.1526 20.3992L25.3742 20.527L43.165 30.7888C44.413 31.5086 44.2996 32.217 42.889 32.5119L43.9153 32.2973C45.2658 32.0149 46.4996 31.3248 47.4431 30.3191C49.0653 28.5899 49.6609 26.5036 49.6609 24.6931C49.6609 21.727 48.077 18.9861 45.5057 17.503L31.882 9.64479C26.787 6.70596 20.6787 6.0793 15.0922 7.92227C14.8712 7.99516 14.6549 8.07781 14.4373 8.15783L17.9201 19.8796Z" fill="url(#paint7_linear_1_55)"/>
<path d="M38.6444 63.3048C38.6489 63.3039 38.648 63.2999 38.6436 63.3008C37.7506 63.4835 36.7345 63.653 35.6164 63.7777C29.7762 64.4291 23.935 62.5621 19.5575 58.6452C15.1799 54.7283 12.6871 49.1325 12.6871 43.2615L12.6871 41.6779L1.6911 42.354C6.79779 57.4313 22.7379 66.6571 38.5823 63.3177C38.5899 63.3161 38.6165 63.3108 38.6444 63.3048Z" fill="url(#paint8_linear_1_55)"/>
<defs>
<linearGradient id="paint0_linear_1_55" x1="40.1202" y1="47.5399" x2="46.4152" y2="25.6136" gradientUnits="userSpaceOnUse">
<stop stop-color="#1724C9"/>
<stop offset="1" stop-color="#1C64F2"/>
</linearGradient>
<linearGradient id="paint1_linear_1_55" x1="54.6189" y1="20.8006" x2="38.0595" y2="4.29961" gradientUnits="userSpaceOnUse">
<stop stop-color="#1C64F2"/>
<stop offset="1" stop-color="#0092FF"/>
</linearGradient>
<linearGradient id="paint2_linear_1_55" x1="32.3289" y1="10.0423" x2="7.34863" y2="11.6208" gradientUnits="userSpaceOnUse">
<stop stop-color="#0092FF"/>
<stop offset="1" stop-color="#45B2FF"/>
</linearGradient>
<linearGradient id="paint3_linear_1_55" x1="30.6395" y1="57.3253" x2="53.0731" y2="51.2718" gradientUnits="userSpaceOnUse">
<stop stop-color="#1C64F2"/>
<stop offset="1" stop-color="#0092FF"/>
</linearGradient>
<linearGradient id="paint4_linear_1_55" x1="14.5375" y1="31.3654" x2="30.4648" y2="47.8694" gradientUnits="userSpaceOnUse">
<stop stop-color="#1724C9"/>
<stop offset="1" stop-color="#1C64F2"/>
</linearGradient>
<linearGradient id="paint5_linear_1_55" x1="50.9008" y1="43.2713" x2="62.0138" y2="20.8691" gradientUnits="userSpaceOnUse">
<stop stop-color="#0092FF"/>
<stop offset="1" stop-color="#45B2FF"/>
</linearGradient>
<linearGradient id="paint6_linear_1_55" x1="10.7277" y1="18.262" x2="4.78107" y2="40.6131" gradientUnits="userSpaceOnUse">
<stop stop-color="#1C64F2"/>
<stop offset="1" stop-color="#0092FF"/>
</linearGradient>
<linearGradient id="paint7_linear_1_55" x1="41.0862" y1="17.1988" x2="19.3554" y2="22.6094" gradientUnits="userSpaceOnUse">
<stop stop-color="#1724C9"/>
<stop offset="1" stop-color="#1C64F2"/>
</linearGradient>
<linearGradient id="paint8_linear_1_55" x1="12.8135" y1="42.7133" x2="26.6651" y2="63.5493" gradientUnits="userSpaceOnUse">
<stop stop-color="#0092FF"/>
<stop offset="1" stop-color="#45B2FF"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -0,0 +1,49 @@
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M49.0391 25.8854C48.8909 26.9063 48.2177 28.2932 47.4454 29.4991C46.471 31.0206 44.9247 32.0863 43.1551 32.4563L35.3597 34.0864C34.1068 34.3484 32.9707 35.0041 32.1177 35.9576L27.0064 41.671C26.0457 42.7447 25.3744 42.4887 25.3744 41.0485C25.3627 41.1019 22.8376 47.614 29.5295 51.4739C32.1008 52.957 35.802 52.4241 38.3732 50.941L51.997 43.0828C57.092 40.144 60.6893 35.1724 61.885 29.4174C61.9323 29.1897 61.9688 28.9613 62.0083 28.733L49.0391 25.8854Z" fill="url(#paint0_linear_1_55)"/>
<path d="M45.5059 18.0358C48.0771 19.5189 49.1277 21.7269 49.1276 24.6931C49.1276 25.0958 49.096 25.4936 49.0391 25.8854L54.5285 28.2434L62.0083 28.7329C62.966 23.1899 61.0891 17.4844 57.7242 12.9493C55.192 9.53637 51.9336 6.57463 48.0164 4.31512C44.8343 2.47968 41.5275 1.27038 38.2052 0.606812L34.4724 5.44082L33.2932 10.9915L45.5059 18.0358Z" fill="url(#paint1_linear_1_55)"/>
<path d="M1.56719 22.1036C1.5658 22.108 1.56966 22.1092 1.57112 22.1049C1.85917 21.2409 2.22036 20.2771 2.67128 19.2474C5.02669 13.8686 9.56572 10.2812 15.1498 8.45216C20.7339 6.62311 26.831 7.26425 31.9203 10.1998L33.293 10.9916L38.205 0.606824C22.5819 -2.51353 6.61456 6.66507 1.58706 22.0434C1.58465 22.0508 1.57591 22.0765 1.56719 22.1036Z" fill="url(#paint2_linear_1_55)"/>
<path d="M37.8396 50.9409C35.2684 52.424 32.1005 52.424 29.5293 50.9409C29.1803 50.7396 28.8512 50.5132 28.5401 50.2682L24.018 53.3771L20.1205 59.6753C24.4466 63.2755 30.0641 64.4329 35.6778 63.7892C39.9024 63.3048 44.0989 61.9665 48.0162 59.707C51.1983 57.8715 53.9 55.6151 56.1363 53.0724L53.8124 47.4257L50.0523 43.8966L37.8396 50.9409Z" fill="url(#paint3_linear_1_55)"/>
<path d="M28.5401 50.2682C26.5591 48.7077 25.3742 46.3143 25.3742 43.7508V43.4951V22.1448C25.3742 20.9374 25.7299 20.7321 26.7766 21.3359C25.1645 20.406 21.4404 17.214 16.8422 19.8662C14.271 21.3493 12.1537 24.6231 12.1537 27.5892V43.3057C12.1537 49.1833 15.198 55.3145 19.5888 59.2265C19.7625 59.3812 19.9423 59.5271 20.1205 59.6753L28.5401 50.2682Z" fill="url(#paint4_linear_1_55)"/>
<path d="M55.8209 10.6248C55.8178 10.6214 55.8147 10.6241 55.8178 10.6275C56.4227 11.3087 57.0776 12.1032 57.7447 13.0081C61.2296 17.7354 62.5317 23.7228 61.3252 29.4687C60.1186 35.2146 56.5143 40.1693 51.4251 43.1048L50.0523 43.8966L56.1363 53.0724C66.6528 41.1154 66.68 22.711 55.8631 10.672C55.8579 10.6663 55.8401 10.6459 55.8209 10.6248Z" fill="url(#paint5_linear_1_55)"/>
<path d="M12.6871 27.5893C12.6871 24.6231 14.271 21.8823 16.8423 20.3992C17.1913 20.1978 17.552 20.0263 17.92 19.8796L17.4861 14.4127L14.4372 8.15784C9.15342 10.1007 4.8794 14.1159 2.63056 19.2948C0.938193 23.1921 1.9584e-05 27.4921 0 32.0111C0 35.682 0.605098 39.1477 1.69106 42.354L7.74782 43.1666L12.6871 41.6779V27.5893Z" fill="url(#paint6_linear_1_55)"/>
<path d="M17.9201 19.8796C20.2632 18.9459 22.9304 19.1174 25.1526 20.3992L25.3742 20.527L43.165 30.7888C44.413 31.5086 44.2996 32.217 42.889 32.5119L43.9153 32.2973C45.2658 32.0149 46.4996 31.3248 47.4431 30.3191C49.0653 28.5899 49.6609 26.5036 49.6609 24.6931C49.6609 21.727 48.077 18.9861 45.5057 17.503L31.882 9.64479C26.787 6.70596 20.6787 6.0793 15.0922 7.92227C14.8712 7.99516 14.6549 8.07781 14.4373 8.15783L17.9201 19.8796Z" fill="url(#paint7_linear_1_55)"/>
<path d="M38.6444 63.3048C38.6489 63.3039 38.648 63.2999 38.6436 63.3008C37.7506 63.4835 36.7345 63.653 35.6164 63.7777C29.7762 64.4291 23.935 62.5621 19.5575 58.6452C15.1799 54.7283 12.6871 49.1325 12.6871 43.2615L12.6871 41.6779L1.6911 42.354C6.79779 57.4313 22.7379 66.6571 38.5823 63.3177C38.5899 63.3161 38.6165 63.3108 38.6444 63.3048Z" fill="url(#paint8_linear_1_55)"/>
<defs>
<linearGradient id="paint0_linear_1_55" x1="40.1202" y1="47.5399" x2="46.4152" y2="25.6136" gradientUnits="userSpaceOnUse">
<stop stop-color="#1724C9"/>
<stop offset="1" stop-color="#1C64F2"/>
</linearGradient>
<linearGradient id="paint1_linear_1_55" x1="54.6189" y1="20.8006" x2="38.0595" y2="4.29961" gradientUnits="userSpaceOnUse">
<stop stop-color="#1C64F2"/>
<stop offset="1" stop-color="#0092FF"/>
</linearGradient>
<linearGradient id="paint2_linear_1_55" x1="32.3289" y1="10.0423" x2="7.34863" y2="11.6208" gradientUnits="userSpaceOnUse">
<stop stop-color="#0092FF"/>
<stop offset="1" stop-color="#45B2FF"/>
</linearGradient>
<linearGradient id="paint3_linear_1_55" x1="30.6395" y1="57.3253" x2="53.0731" y2="51.2718" gradientUnits="userSpaceOnUse">
<stop stop-color="#1C64F2"/>
<stop offset="1" stop-color="#0092FF"/>
</linearGradient>
<linearGradient id="paint4_linear_1_55" x1="14.5375" y1="31.3654" x2="30.4648" y2="47.8694" gradientUnits="userSpaceOnUse">
<stop stop-color="#1724C9"/>
<stop offset="1" stop-color="#1C64F2"/>
</linearGradient>
<linearGradient id="paint5_linear_1_55" x1="50.9008" y1="43.2713" x2="62.0138" y2="20.8691" gradientUnits="userSpaceOnUse">
<stop stop-color="#0092FF"/>
<stop offset="1" stop-color="#45B2FF"/>
</linearGradient>
<linearGradient id="paint6_linear_1_55" x1="10.7277" y1="18.262" x2="4.78107" y2="40.6131" gradientUnits="userSpaceOnUse">
<stop stop-color="#1C64F2"/>
<stop offset="1" stop-color="#0092FF"/>
</linearGradient>
<linearGradient id="paint7_linear_1_55" x1="41.0862" y1="17.1988" x2="19.3554" y2="22.6094" gradientUnits="userSpaceOnUse">
<stop stop-color="#1724C9"/>
<stop offset="1" stop-color="#1C64F2"/>
</linearGradient>
<linearGradient id="paint8_linear_1_55" x1="12.8135" y1="42.7133" x2="26.6651" y2="63.5493" gradientUnits="userSpaceOnUse">
<stop stop-color="#0092FF"/>
<stop offset="1" stop-color="#45B2FF"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg xmlns="http://www.w3.org/2000/svg"
aria-label="Svelte" role="img"
viewBox="0 0 512 512"><rect
width="512" height="512"
rx="15%"
fill="#ffffff"/><path fill="#ff3e00" d="M395 115c-35-51-106-66-157-34l-89 57a103 103 0 00-46 69 108 108 0 0010 69 103 103 0 00-15 39 109 109 0 0019 82c35 51 106 66 157 34l89-57a103 103 0 0046-69 108 108 0 00-10-69 103 103 0 0015-39 109 109 0 00-19-82"/><path fill="#ffffff" d="M230 402a71 71 0 01-77-28 66 66 0 01-11-50 62 62 0 012-8l2-5 5 3a115 115 0 0035 17l3 1v4a20 20 0 003 13 21 21 0 0023 9 20 20 0 006-3l89-57a19 19 0 008-12 20 20 0 00-3-15 21 21 0 00-23-9 20 20 0 00-5 3l-34 21a65 65 0 01-19 8 71 71 0 01-76-28 66 66 0 01-11-50 62 62 0 0128-41l89-57a65 65 0 0118-8 71 71 0 0177 28 66 66 0 0111 50 63 63 0 01-2 8l-2 5-5-3a115 115 0 00-35-17l-3-1v-4a20 20 0 00-3-13 21 21 0 00-23-9 20 20 0 00-6 3l-89 57a19 19 0 00-8 12 20 20 0 003 15 21 21 0 0023 9 20 20 0 005-3l34-21a65 65 0 0119-8 71 71 0 0176 28 66 66 0 0111 50 62 62 0 01-28 41l-89 57a65 65 0 01-18 8"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_tailwind</title><path d="M9,13.7q1.4-5.6,7-5.6c5.6,0,6.3,4.2,9.1,4.9q2.8.7,4.9-2.1-1.4,5.6-7,5.6c-5.6,0-6.3-4.2-9.1-4.9Q11.1,10.9,9,13.7ZM2,22.1q1.4-5.6,7-5.6c5.6,0,6.3,4.2,9.1,4.9q2.8.7,4.9-2.1-1.4,5.6-7,5.6c-5.6,0-6.3-4.2-9.1-4.9Q4.1,19.3,2,22.1Z" style="fill:#44a8b3"/></svg>

After

Width:  |  Height:  |  Size: 503 B

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 -198 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
<g>
<path d="M255.420487,28.975665 C235.427278,28.975665 221.011885,42.0147142 221.011885,61.5732881 C221.011885,81.1318619 237.238257,94.1709111 257.231466,94.1709111 C269.310696,94.1709111 279.959253,89.3899264 286.551217,81.3310696 L272.697227,73.3265422 C269.039049,77.3288059 263.479344,79.6649689 257.231466,79.6649689 C248.556876,79.6649689 241.186191,75.1375212 238.451613,67.893605 L289.195246,67.893605 C289.593662,65.8653084 289.829089,63.7645727 289.829089,61.5551783 C289.829089,42.0147142 275.413696,28.975665 255.420487,28.975665 Z M238.288625,55.2348613 C240.552349,48.0090549 246.745897,43.4634975 255.402377,43.4634975 C264.076967,43.4634975 270.270515,48.0090549 272.516129,55.2348613 L238.288625,55.2348613 L238.288625,55.2348613 Z M450.426712,28.975665 C430.433503,28.975665 416.01811,42.0147142 416.01811,61.5732881 C416.01811,81.1318619 432.244482,94.1709111 452.237691,94.1709111 C464.316921,94.1709111 474.965478,89.3899264 481.557442,81.3310696 L467.703452,73.3265422 C464.045274,77.3288059 458.485569,79.6649689 452.237691,79.6649689 C443.563101,79.6649689 436.192417,75.1375212 433.457838,67.893605 L484.201471,67.893605 C484.599887,65.8653084 484.835314,63.7645727 484.835314,61.5551783 C484.835314,42.0147142 470.419921,28.975665 450.426712,28.975665 L450.426712,28.975665 Z M433.31296,55.2348613 C435.576684,48.0090549 441.770232,43.4634975 450.426712,43.4634975 C459.101302,43.4634975 465.29485,48.0090549 467.540464,55.2348613 L433.31296,55.2348613 Z M362.630447,61.5732881 C362.630447,72.4391624 369.729485,79.6830787 380.740238,79.6830787 C388.201471,79.6830787 393.797397,76.2965478 396.676853,70.7730617 L410.585173,78.7956989 C404.826259,88.3938879 394.032824,94.1709111 380.740238,94.1709111 C360.728919,94.1709111 346.331636,81.1318619 346.331636,61.5732881 C346.331636,42.0147142 360.747029,28.975665 380.740238,28.975665 C394.032824,28.975665 404.808149,34.7526882 410.585173,44.3508772 L396.676853,52.3735144 C393.797397,46.8500283 388.201471,43.4634975 380.740238,43.4634975 C369.747595,43.4634975 362.630447,50.7074137 362.630447,61.5732881 Z M512,9.0548953 L512,92.3599321 L495.701188,92.3599321 L495.701188,9.0548953 L512,9.0548953 Z M66.9156763,-1.42108547e-14 L133.831353,115.90266 L0,115.90266 L66.9156763,-1.42108547e-14 Z M234.213922,9.0548953 L184.031692,95.9818902 L133.849462,9.0548953 L152.665535,9.0548953 L184.031692,63.3842671 L215.397849,9.0548953 L234.213922,9.0548953 Z M340.898698,30.786644 L340.898698,48.3350311 C339.087719,47.8098472 337.168081,47.4476514 335.103565,47.4476514 C324.581777,47.4476514 316.993775,54.6915676 316.993775,65.557442 L316.993775,92.3599321 L300.694963,92.3599321 L300.694963,30.786644 L316.993775,30.786644 L316.993775,47.4476514 C316.993775,38.2478778 327.696661,30.786644 340.898698,30.786644 Z" fill="#000000" fill-rule="nonzero">
</path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

33
src/lib/projects.js Normal file
View File

@ -0,0 +1,33 @@
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';
export const projects = [
{
category: "svelte",
title: "portfolio",
url: "https://rannes.dev",
description: "A project to get familiar with Svelte and showcase my future projects.",
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
},
{
name: "Tailwind CSS",
img: tailwindIcon
},
{
name: "Flowbite-svelte",
img: flowbiteLight
},
{
name: "Vercel",
img: vercelIcon
},]
}
]

View File

@ -1,23 +1,10 @@
<script>
import { fade } from 'svelte/transition';
import RssContainer from '../../lib/RssContainer.svelte';
import { Alert } from 'flowbite-svelte';
import Projects from '../../lib/Projects.svelte';
const projectRssUrl = 'https://gitea.rannes.dev/rannes.dev/my-portfolio.rss';
const category = 'svelte';
</script>
<div in:fade>
<h1 class="text-2xl">Svelte Portfolio Page</h1>
<p class="text-left">For this project i've used the following:</p>
<p class="text-left">
<a
class="underline font-normal hover:text-slate-400"
href="https://gitea.rannes.dev/rannes.dev/my-portfolio">The git repo is available here.</a
>The gitea workflow builds a docker image and pushes it to the projects registry. It is then
deployed to my infrastructure.
<a class="underline font-normal hover:text-slate-400" href="https://rannes.dev/homelab"
>Read more about that here.</a
>
</p>
<RssContainer url={projectRssUrl} />
<Projects {category} />
</div>