mirror of
https://github.com/bartvdbraak/hellob.art.git
synced 2025-04-27 09:31:21 +00:00
chore: added project content
This commit is contained in:
parent
827d14a048
commit
1fa52b84c1
5 changed files with 88 additions and 20 deletions
BIN
src/lib/assets/projects/azure-geocode-mapping-logo.png
Normal file
BIN
src/lib/assets/projects/azure-geocode-mapping-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
BIN
src/lib/assets/projects/omnidash-logo.png
Normal file
BIN
src/lib/assets/projects/omnidash-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
BIN
src/lib/assets/projects/slayerweightcalc-logo.png
Normal file
BIN
src/lib/assets/projects/slayerweightcalc-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8 KiB |
|
@ -1,27 +1,23 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { Circle } from 'radix-icons-svelte';
|
import { Circle } from 'radix-icons-svelte';
|
||||||
import { Scale } from 'lucide-svelte';
|
import { Calendar, Scale } from 'lucide-svelte';
|
||||||
import * as Card from '$lib/components/ui/card';
|
import * as Card from '$lib/components/ui/card';
|
||||||
import type { Project } from '$lib/content/projects';
|
import type { Project } from '$lib/content/projects';
|
||||||
import * as Avatar from '$lib/components/ui/avatar';
|
|
||||||
|
|
||||||
export let projectsItem: Project;
|
export let projectsItem: Project;
|
||||||
let { avatarImg, title, description, languages, license, year } = projectsItem;
|
let { logo, title, description, languages, license, year } = projectsItem;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<Card.Root class="hover:bg-muted/50">
|
<Card.Root class="hover:bg-muted/50">
|
||||||
<Card.Header class="grid grid-cols-[1fr_110px] items-start gap-4 space-y-0">
|
<Card.Header class="grid grid-cols-[1fr_72px] items-start gap-4 space-y-0">
|
||||||
<div class="space-y-1">
|
<div class="space-y-1">
|
||||||
<Card.Title tag="h2">{title}</Card.Title>
|
<Card.Title tag="h2" class="mb-2">{title}</Card.Title>
|
||||||
<Card.Description>
|
<Card.Description>
|
||||||
{description}
|
{description}
|
||||||
</Card.Description>
|
</Card.Description>
|
||||||
</div>
|
</div>
|
||||||
<div class="justify-self-end">
|
<div class="justify-self-end">
|
||||||
<Avatar.Root>
|
<enhanced:img src={logo} class="rounded-sm" alt={`${title} logo`} />
|
||||||
<Avatar.Image src={avatarImg} alt={title} />
|
|
||||||
<Avatar.Fallback>NA</Avatar.Fallback>
|
|
||||||
</Avatar.Root>
|
|
||||||
</div>
|
</div>
|
||||||
</Card.Header>
|
</Card.Header>
|
||||||
<Card.Content>
|
<Card.Content>
|
||||||
|
@ -36,8 +32,8 @@
|
||||||
<Scale class="mr-1 h-3 w-3" />
|
<Scale class="mr-1 h-3 w-3" />
|
||||||
{license}
|
{license}
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div class="flex items-center">
|
||||||
Started in
|
<Calendar class="mr-1 h-3 w-3" />
|
||||||
{year}
|
{year}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
import keyweaveLogo from '$lib/assets/projects/keyweave-logo.png';
|
import keyweaveLogo from '$lib/assets/projects/keyweave-logo.png?enhanced';
|
||||||
import videoWallLogo from '$lib/assets/projects/videowall-logo.png';
|
import videoWallLogo from '$lib/assets/projects/videowall-logo.png?enhanced';
|
||||||
import ticketDashboardLogo from '$lib/assets/projects/triple-logo.png';
|
import ticketDashboardLogo from '$lib/assets/projects/triple-logo.png?enhanced';
|
||||||
import zaantjeLogo from '$lib/assets/projects/zaantje-logo.png';
|
import zaantjeLogo from '$lib/assets/projects/zaantje-logo.png?enhanced';
|
||||||
|
import helloBartLogo from '$lib/assets/logo-icon.png?enhanced';
|
||||||
|
import omnidashLogo from '$lib/assets/projects/omnidash-logo.png?enhanced';
|
||||||
|
import azureGeocodeMappingLogo from '$lib/assets/projects/azure-geocode-mapping-logo.png?enhanced';
|
||||||
|
import slayerWeightCalcLogo from '$lib/assets/projects/slayerweightcalc-logo.png?enhanced';
|
||||||
|
|
||||||
export type ProgrammingLanguage = {
|
export type ProgrammingLanguage = {
|
||||||
name: string;
|
name: string;
|
||||||
|
@ -10,7 +14,7 @@ export type ProgrammingLanguage = {
|
||||||
|
|
||||||
export type Project = {
|
export type Project = {
|
||||||
url?: string;
|
url?: string;
|
||||||
avatarImg: string;
|
logo: string;
|
||||||
title: string;
|
title: string;
|
||||||
description: string;
|
description: string;
|
||||||
languages: ProgrammingLanguage[];
|
languages: ProgrammingLanguage[];
|
||||||
|
@ -19,9 +23,54 @@ export type Project = {
|
||||||
};
|
};
|
||||||
|
|
||||||
const projects: Project[] = [
|
const projects: Project[] = [
|
||||||
|
{
|
||||||
|
url: 'https://hellob.art',
|
||||||
|
logo: helloBartLogo,
|
||||||
|
title: 'hellob.art',
|
||||||
|
description:
|
||||||
|
'The website you are currently visiting. A personal portfolio website that regularly gets rebuilt. Currently it has been built in Svelte and SvelteKit and uses shadcn-svelte and Tailwind CSS for component styling.',
|
||||||
|
year: '2020',
|
||||||
|
license: 'GPLv3',
|
||||||
|
languages: [
|
||||||
|
{
|
||||||
|
name: 'Svelte',
|
||||||
|
color: 'text-orange-400'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: 'https://omnidash.io',
|
||||||
|
logo: omnidashLogo,
|
||||||
|
title: 'Omnidash',
|
||||||
|
description:
|
||||||
|
'Omnidash is an open-source dashboard for retrieving ticketing information from various sources and displaying them in a single view.',
|
||||||
|
year: '2023',
|
||||||
|
license: 'GPLv3',
|
||||||
|
languages: [
|
||||||
|
{
|
||||||
|
name: 'Svelte',
|
||||||
|
color: 'text-orange-400'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: 'https://github.com/bartvdbraak/azure-geocode-mapping',
|
||||||
|
logo: azureGeocodeMappingLogo,
|
||||||
|
title: 'azure-geocode-mapping',
|
||||||
|
description:
|
||||||
|
'azure-geocode-mapping is a Python package that generates a mapping of Azure regions to their display names and geocodes.',
|
||||||
|
year: '2023',
|
||||||
|
license: 'MIT',
|
||||||
|
languages: [
|
||||||
|
{
|
||||||
|
name: 'Python',
|
||||||
|
color: 'text-blue-400'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
url: 'https://www.github.com/bartvdbraak/keyweave',
|
url: 'https://www.github.com/bartvdbraak/keyweave',
|
||||||
avatarImg: keyweaveLogo,
|
logo: keyweaveLogo,
|
||||||
title: 'Keyweave',
|
title: 'Keyweave',
|
||||||
description:
|
description:
|
||||||
'Keyweave is an open-source tool crafted in Rust to seamlessly fetch secrets from Azure Key Vault and weave them into a convenient .env file.',
|
'Keyweave is an open-source tool crafted in Rust to seamlessly fetch secrets from Azure Key Vault and weave them into a convenient .env file.',
|
||||||
|
@ -31,11 +80,15 @@ const projects: Project[] = [
|
||||||
{
|
{
|
||||||
name: 'Rust',
|
name: 'Rust',
|
||||||
color: 'text-red-400'
|
color: 'text-red-400'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Bicep',
|
||||||
|
color: 'text-blue-400'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
avatarImg: videoWallLogo,
|
logo: videoWallLogo,
|
||||||
title: 'Videowall',
|
title: 'Videowall',
|
||||||
description:
|
description:
|
||||||
'An internal application to control an impressive 6x5 monitor setup with a user-friendly frontend built with React and Next.js utilizing a powerful backend developed in Golang.',
|
'An internal application to control an impressive 6x5 monitor setup with a user-friendly frontend built with React and Next.js utilizing a powerful backend developed in Golang.',
|
||||||
|
@ -53,7 +106,7 @@ const projects: Project[] = [
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
avatarImg: ticketDashboardLogo,
|
logo: ticketDashboardLogo,
|
||||||
title: 'Ticket Dashboard',
|
title: 'Ticket Dashboard',
|
||||||
description:
|
description:
|
||||||
'Web app that consolidates tickets from various sources into one view for easy navigation, filters, and search for efficient ticket management. Developed with Next.js for frontend and Golang for backend.',
|
'Web app that consolidates tickets from various sources into one view for easy navigation, filters, and search for efficient ticket management. Developed with Next.js for frontend and Golang for backend.',
|
||||||
|
@ -72,7 +125,7 @@ const projects: Project[] = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
url: 'https://zaantje.com/',
|
url: 'https://zaantje.com/',
|
||||||
avatarImg: zaantjeLogo,
|
logo: zaantjeLogo,
|
||||||
title: 'Zaantje',
|
title: 'Zaantje',
|
||||||
description:
|
description:
|
||||||
'A SPA crafted with Nuxt.js and Vue.js, backed by Sanity CMS, taking you on a virtual tour of Zaandam, showcasing locations of famous music videos.',
|
'A SPA crafted with Nuxt.js and Vue.js, backed by Sanity CMS, taking you on a virtual tour of Zaandam, showcasing locations of famous music videos.',
|
||||||
|
@ -84,6 +137,25 @@ const projects: Project[] = [
|
||||||
color: 'text-emerald-400'
|
color: 'text-emerald-400'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: 'https://bartvdbraak.github.io/SlayerWeightCalculator/',
|
||||||
|
logo: slayerWeightCalcLogo,
|
||||||
|
title: 'SlayerWeightCalculator',
|
||||||
|
description:
|
||||||
|
'I created this Slayer calculator for OldSchool RuneScape in 2019, but I am no longer maintaining it. As of 23th April 2023, I have decided to publicly archive the repository for it.',
|
||||||
|
year: '2019',
|
||||||
|
license: 'BSD-2',
|
||||||
|
languages: [
|
||||||
|
{
|
||||||
|
name: 'Vue.js',
|
||||||
|
color: 'text-emerald-400'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Python',
|
||||||
|
color: 'text-blue-400'
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue