Compare commits

..

4 Commits

7 changed files with 38 additions and 48 deletions

View File

@@ -46,7 +46,7 @@
width: fit-content; width: fit-content;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
margin: 16px auto; margin: 16px 4px;
} }
a { a {
margin: 0 4px; margin: 0 4px;

View File

@@ -1,7 +1,6 @@
<script lang="ts"> <script lang="ts">
import Content from "$lib/viewport/content.svelte"; import Content from "$lib/viewport/content.svelte";
import Webring from "$lib/webrings/ring.svelte"; import Webring from "$lib/components/ring.svelte";
import Gallery, { type GalleryEntry } from "$lib/lists/gallery.svelte";
import GalleryRow, { type GalleryRowEntry } from "$lib/lists/gallery-row.svelte"; import GalleryRow, { type GalleryRowEntry } from "$lib/lists/gallery-row.svelte";
import { posts as devlogPosts } from "./projects/projectn5/devlog/posts"; import { posts as devlogPosts } from "./projects/projectn5/devlog/posts";
@@ -35,8 +34,8 @@
{ {
title: "Projects", title: "Projects",
description: "An overview of what I do and have done", description: "An overview of what I do and have done",
img: "main/3ds.webp", img: "projects/banner.webp",
altText: "An upside-down New 3DS XL lying open on a desk. A small USB-C breakout board is attached to the 3DS, and a USB-C cable is plugged in. The 3DS is glowing to indicate that it is charging.", altText: "An upside-down New 3DS XL lying open on a desk with a small USB-C breakout board attached to it, and a USB-C cable plugged in. The 3DS is glowing to indicate that it is charging.",
link: "projects", link: "projects",
}, },
{ {
@@ -44,14 +43,14 @@
description: "Find things I've put for download on my Copyparty instance", description: "Find things I've put for download on my Copyparty instance",
img: "main/hypertext.webp", img: "main/hypertext.webp",
altText: "Screenshot of Hypertext Unity level. Crates are strewn across the floor, Waluigi is flying in front of the camera, and text such as 'COME AND TRY OUR ALL-NEW BLENDER' and 'omg! it's the brandenburg er tor!' is displayed.", altText: "Screenshot of Hypertext Unity level. Crates are strewn across the floor, Waluigi is flying in front of the camera, and text such as 'COME AND TRY OUR ALL-NEW BLENDER' and 'omg! it's the brandenburg er tor!' is displayed.",
link: "//files.denizk0461.dev/", link: "https://files.denizk0461.dev/",
}, },
{ {
title: "Gitea", title: "Gitea",
description: "I now also self-host a Gitea instance where I am likely migrating all my projects to", description: "I now also self-host a Gitea instance where I am likely migrating all my projects to",
img: "main/magic.webp", img: "main/magic.webp",
altText: "A 'magic' command written in Java. The command shuts down the computer when ran.", altText: "A 'magic' command written in Java. The command shuts down the computer when ran.",
link: "//code.denizk0461.dev/", link: "https://code.denizk0461.dev/",
}, },
]; ];
</script> </script>
@@ -124,6 +123,7 @@
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: center;
} }
.gradient-title { .gradient-title {

View File

@@ -1,7 +1,7 @@
<script lang="ts"> <script lang="ts">
import Banner2 from "$lib/banner2.svelte"; import Banner2 from "$lib/banner2.svelte";
import TableOfContents from "$lib/table-of-contents.svelte"; import TableOfContents from "$lib/table-of-contents.svelte";
import { type Project, projects } from './projects'; import { type Project, games, hardware, apps, music } from './projects';
import LinkList from "$lib/lists/link-list.svelte"; import LinkList from "$lib/lists/link-list.svelte";
import Content from "$lib/viewport/content.svelte"; import Content from "$lib/viewport/content.svelte";
</script> </script>
@@ -14,34 +14,29 @@
<Banner2 <Banner2
title="My Disordered Projects" title="My Disordered Projects"
banner="/projects/banner.webp" banner="/projects/banner.webp"
bannerAlt="Closeup of the purple protagonist from Project N5" bannerAlt="An upside-down New 3DS XL lying open on a desk with a small USB-C breakout board attached to it, and a USB-C cable plugged in. The 3DS is glowing to indicate that it is charging."
subtitle="Things I have worked on" /> subtitle="Things I have worked on" />
<TableOfContents /> <TableOfContents />
<h2 id="games">Games</h2> <h2 id="games">Games</h2>
{#each projects as project} {#each games as project}
{#if project.type == "game"} {@render projectSummary({ project: project })}
{@render projectSummary({ project: project })}
{/if}
{/each} {/each}
<h2 id="hardware">Hardware</h2> <h2 id="hardware">Hardware</h2>
{#each projects as project} {#each hardware as project}
{#if project.type == "hardware"} {@render projectSummary({ project: project })}
{@render projectSummary({ project: project })}
{/if}
{/each} {/each}
<h2 id="apps">Apps</h2> <h2 id="apps">Apps</h2>
{#each projects as project} {#each apps as project}
{#if project.type == "app"} {@render projectSummary({ project: project })}
{@render projectSummary({ project: project })}
{/if}
{/each} {/each}
<h2 id="music">Music</h2> <h2 id="music">Music</h2>
{#each projects as project} {#each music as project}
{#if project.type == "music"} {@render projectSummary({ project: project })}
{@render projectSummary({ project: project })}
{/if}
{/each} {/each}
</Content> </Content>

View File

@@ -1,6 +1,5 @@
export interface Project { export interface Project {
id: string; id: string;
type: string; // currently used types: game, app, hardware, music
isActive: boolean; // whether the project is currently active (true) or a past project (false) isActive: boolean; // whether the project is currently active (true) or a past project (false)
banner: string; banner: string;
icon: string; icon: string;
@@ -16,12 +15,11 @@ export interface Link {
link: string; link: string;
} }
export const projects: Project[] = [ export const games: Project[] = [
{ {
id: "projectn5", id: "projectn5",
type: "game",
isActive: true, isActive: true,
banner: "/projects/projectn5/banner.webp", banner: "/projects/projectn5/banner2.webp",
icon: "", icon: "",
date: "September 2023 now", date: "September 2023 now",
title: "Project N5", title: "Project N5",
@@ -37,17 +35,16 @@ export const projects: Project[] = [
}, },
{ {
text: "Play an <b>old build</b> (developed until 2025-05-16)", text: "Play an <b>old build</b> (developed until 2025-05-16)",
link: "//apps.denizk0461.dev/projectn5", link: "https://apps.denizk0461.dev/projectn5",
}, },
{ {
text: "Download the <b>old Windows builds</b>", text: "Download the <b>old Windows builds</b>",
link: "//files.denizk0461.dev/projectn5", link: "https://files.denizk0461.dev/projectn5",
}, },
], ],
}, },
{ {
id: "magician", id: "magician",
type: "game",
isActive: false, isActive: false,
banner: "/projects/magician/banner.webp", banner: "/projects/magician/banner.webp",
icon: "", icon: "",
@@ -61,13 +58,12 @@ export const projects: Project[] = [
links: [ links: [
{ {
text: "View the latest <b>Magician</b> build", text: "View the latest <b>Magician</b> build",
link: "//apps.denizk0461.dev/magician", link: "https://apps.denizk0461.dev/magician",
}, },
], ],
}, },
{ {
id: "projektike", id: "projektike",
type: "game",
isActive: false, isActive: false,
banner: "/projects/projektike/banner.webp", banner: "/projects/projektike/banner.webp",
icon: "", icon: "",
@@ -83,7 +79,6 @@ export const projects: Project[] = [
}, },
{ {
id: "swordsnstuff", id: "swordsnstuff",
type: "game",
isActive: false, isActive: false,
banner: "/projects/swordsnstuff/banner.webp", banner: "/projects/swordsnstuff/banner.webp",
icon: "", icon: "",
@@ -98,13 +93,12 @@ export const projects: Project[] = [
links: [ links: [
{ {
text: "Play <b>Swords & Stuff</b>", text: "Play <b>Swords & Stuff</b>",
link: "//apps.denizk0461.dev/swordsnstuff", link: "https://apps.denizk0461.dev/swordsnstuff",
}, },
], ],
}, },
{ {
id: "tads", id: "tads",
type: "game",
isActive: false, isActive: false,
banner: "/projects/tads/banner.webp", banner: "/projects/tads/banner.webp",
icon: "/projects/tads/icon.webp", icon: "/projects/tads/icon.webp",
@@ -118,17 +112,19 @@ export const projects: Project[] = [
links: [ links: [
{ {
text: "Play <b>TADS 1</b>", text: "Play <b>TADS 1</b>",
link: "//apps.denizk0461.dev/tads/1", link: "https://apps.denizk0461.dev/tads/1",
}, },
{ {
text: "Play <b>TADS 2</b>", text: "Play <b>TADS 2</b>",
link: "//apps.denizk0461.dev/tads/2", link: "https://apps.denizk0461.dev/tads/2",
}, },
], ],
}, },
];
export const hardware: Project[] = [
{ {
id: "daisyfm", id: "daisyfm",
type: "hardware",
isActive: false, isActive: false,
banner: "/projects/daisyfm/banner.webp", banner: "/projects/daisyfm/banner.webp",
icon: "", icon: "",
@@ -145,7 +141,7 @@ export const projects: Project[] = [
}, },
{ {
text: "Get the <b>PCB and STL files</b>", text: "Get the <b>PCB and STL files</b>",
link: "//files.denizk0461.dev/daisyfm/", link: "https://files.denizk0461.dev/daisyfm/",
}, },
{ {
text: "View the code files on <b>Codeberg</b>", text: "View the code files on <b>Codeberg</b>",
@@ -153,9 +149,11 @@ export const projects: Project[] = [
}, },
], ],
}, },
];
export const apps: Project[] = [
{ {
id: "weserplaner", id: "weserplaner",
type: "app",
isActive: false, isActive: false,
banner: "/projects/weserplaner/banner.webp", banner: "/projects/weserplaner/banner.webp",
icon: "/projects/weserplaner/icon.webp", icon: "/projects/weserplaner/icon.webp",
@@ -180,7 +178,6 @@ export const projects: Project[] = [
}, },
{ {
id: "textbasic", id: "textbasic",
type: "app",
isActive: false, isActive: false,
banner: "", banner: "",
icon: "/projects/textbasic/icon.webp", icon: "/projects/textbasic/icon.webp",
@@ -204,7 +201,6 @@ export const projects: Project[] = [
}, },
{ {
id: "qwark", id: "qwark",
type: "app",
isActive: false, isActive: false,
banner: "", banner: "",
icon: "/projects/qwark/icon.webp", icon: "/projects/qwark/icon.webp",
@@ -225,7 +221,6 @@ export const projects: Project[] = [
}, },
{ {
id: "avhplan", id: "avhplan",
type: "app",
isActive: false, isActive: false,
banner: "", banner: "",
date: "April 2019 March 2020", date: "April 2019 March 2020",
@@ -249,9 +244,11 @@ export const projects: Project[] = [
}, },
], ],
}, },
];
export const music: Project[] = [
{ {
id: "dreamworld", id: "dreamworld",
type: "music",
isActive: false, isActive: false,
banner: "/projects/dreamworld/banner.webp", banner: "/projects/dreamworld/banner.webp",
icon: "/projects/dreamworld/icon.webp", icon: "/projects/dreamworld/icon.webp",
@@ -273,7 +270,6 @@ export const projects: Project[] = [
}, },
{ {
id: "anewbeginning", id: "anewbeginning",
type: "music",
isActive: false, isActive: false,
banner: "", banner: "",
icon: "/projects/anewbeginning/icon.webp", icon: "/projects/anewbeginning/icon.webp",
@@ -293,7 +289,6 @@ export const projects: Project[] = [
}, },
{ {
id: "soundcloud", id: "soundcloud",
type: "music",
isActive: false, isActive: false,
banner: "", banner: "",
icon: "/projects/soundcloud/icon.webp", icon: "/projects/soundcloud/icon.webp",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB