diff --git a/content/about.json b/content/about.json index 232751a..d8f0dd0 100644 --- a/content/about.json +++ b/content/about.json @@ -1,6 +1,39 @@ { "anilistUsername": "SirBlob", "lastfmUsername": "Sir_Blob_", + "setup": { + "user": "blob", + "host": "blomarchy", + "steam": [ + " ( ) (", + " ) ( ) )", + " ( ) ( (" + ], + "art": [ + " ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄", + " ██ ██▄▄▄▄▄", + " ██ ██ ██", + " ██ ██ ██", + " ██ ██▀▀▀▀▀", + " ██ ██", + " ▀█▄▄▄▄▄▄▄▄▄▄▄█▀", + "▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄", + " ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀" + ], + "specs": [ + { "label": "host", "value": "Lenovo IdeaPad Flex 5i" }, + { "label": "os", "value": "Arch Linux x86_64" }, + { "label": "kernel", "value": "Linux (arch)" }, + { "label": "shell", "value": "bash" }, + { "label": "wm", "value": "Hyprland (Wayland)" }, + { "label": "term", "value": "foot" }, + { "label": "display", "value": "2x 1920x1080 24\", 60 Hz + 75 Hz" }, + { "label": "cpu", "value": "Intel Core i5-1335U (4+8) @ 4.60 GHz" }, + { "label": "gpu", "value": "Intel Iris Xe Graphics" }, + { "label": "memory", "value": "16 GB" } + ], + "dotfilesUrl": "https://github.com/SirBlobby/dotfiles" + }, "hobbies": [ { "name": "Swimming", "icon": "proicons:person-swim", "description": "I enjoy swimming as a way to relax and stay active. It is my favorite sport." }, { "name": "Baking", "icon": "proicons:cake", "description": "I love baking pastries and experimenting with new dessert recipes." }, diff --git a/src/lib/components/about/setup/SetupFetch.svelte b/src/lib/components/about/setup/SetupFetch.svelte new file mode 100644 index 0000000..e7b7599 --- /dev/null +++ b/src/lib/components/about/setup/SetupFetch.svelte @@ -0,0 +1,141 @@ + + +
+ + +
+
+ {setup.user}@{setup.host} +
+
{'-'.repeat(title.length)}
+ {#each setup.specs as spec (spec.label)} +
{spec.label}{spec.value}
+ {/each} +
+ dotfiles + {dotfilesLabel} +
+ +
+
+ + diff --git a/src/lib/components/about/setup/SetupSection.svelte b/src/lib/components/about/setup/SetupSection.svelte new file mode 100644 index 0000000..af185a7 --- /dev/null +++ b/src/lib/components/about/setup/SetupSection.svelte @@ -0,0 +1,11 @@ + + + + + diff --git a/src/lib/content/types.ts b/src/lib/content/types.ts index 0c4da1e..fb42cc6 100644 --- a/src/lib/content/types.ts +++ b/src/lib/content/types.ts @@ -138,9 +138,24 @@ export interface RatedTitle { } export interface AboutContent { +export interface LabeledValue { + label: string; + value: string; +} + +export interface DesktopSetup { + user: string; + host: string; + steam: string[]; + art: string[]; + specs: LabeledValue[]; + dotfilesUrl: string; +} + anilistUsername?: string; lastfmUsername?: string; hobbies: Hobby[]; + setup?: DesktopSetup; games: Game[]; shows: RatedTitle[]; movies: RatedTitle[]; diff --git a/src/routes/about/+page.svelte b/src/routes/about/+page.svelte index 5cdde60..f1eb9bd 100644 --- a/src/routes/about/+page.svelte +++ b/src/routes/about/+page.svelte @@ -8,6 +8,7 @@ import AnimeSection from '#lib/components/about/AnimeSection.svelte'; import MediaGrid from '#lib/components/about/MediaGrid.svelte'; import GameCard from '#lib/components/about/GameCard.svelte'; + import SetupSection from '#lib/components/about/setup/SetupSection.svelte'; import ListeningSection from '#lib/components/about/listening/ListeningSection.svelte'; import type { PageProps } from './$types'; @@ -23,6 +24,7 @@ const sections = $derived([ { id: 'hobbies', label: 'Hobbies', color: 'blue' }, + ...(about.setup ? [{ id: 'setup', label: 'Setup', color: 'cyan' }] : []), { id: 'games', label: 'Games', color: 'orange' }, { id: 'shows', label: 'Shows', color: 'yellow' }, { id: 'movies', label: 'Movies', color: 'green' }, @@ -47,6 +49,12 @@ + {#if about.setup} +
+ +
+ {/if} +
{#each about.games as game (game.name)}