Files
pages/src/routes/feed/+page.svelte

124 lines
3.9 KiB
Svelte
Raw Normal View History

<script lang="ts">
import Content from "$lib/viewport/content.svelte";
import Banner2 from "$lib/banner2.svelte";
2026-02-25 23:23:06 +01:00
import TableOfContents from "$lib/components/table-of-contents.svelte";
export let data;
</script>
<svelte:head>
2026-04-06 20:20:56 +02:00
<title>Art Feed | denizk0461</title>
</svelte:head>
2026-04-07 18:37:54 +02:00
{#snippet pageButtons(currentIndex: number)}
<div class="page-button-container blurred-background">
{#if currentIndex == 1}
2026-04-07 19:31:58 +02:00
<p class="page-button page-button-left">x</p>
2026-04-07 18:37:54 +02:00
{:else}
<a class="page-button page-button-left page-button-clickable" href="?p={currentIndex - 1}">&lt;</a>
{/if}
{#each { length: data.maxPages }, index}
<a class="page-index" href="?p={index + 1}">{index + 1}</a>
{/each}
{#if currentIndex == data.maxPages}
2026-04-07 19:31:58 +02:00
<p class="page-button page-button-right">x</p>
2026-04-07 18:37:54 +02:00
{:else}
<a class="page-button page-button-right page-button-clickable" href="?p={currentIndex + 1}">&gt;</a>
{/if}
</div>
{/snippet}
<Content>
<Banner2
2026-04-07 17:33:25 +02:00
title="Art & Project Feed"
banner="banner.webp"
bannerAlt="Mirror picture of me, pixelated beyond recognition"
subtitle="subtitle missing"
2026-04-06 20:20:56 +02:00
/>
2026-04-07 18:37:54 +02:00
{@render pageButtons(data.currentPage)}
2026-04-06 21:09:56 +02:00
<p>Welcome to my (new) art feed! It is heavily inspired by <a href="https://deathsurplus.com/">DeathSurplus' art blog</a> definitely go check out his page!</p>
<p>This page is intended to offer a shared space for all my projects without the need to create strictly-separated pages for each hobby. Some other pages on this website have been merged into this one; namely the "Small Projects" and "Drawing Gallery" pages, so don't be surprised if content from those pages shows up here.</p>
<p>I'll add some more of my past projects, new projects, and an option to filter by project type <i>soon™</i>. Maybe I'll also split the content into pages, if I ever figure out how to do that.</p>
<p>I <b>MAY</b> merge this with the <a href="/projects">Projects</a> page, I've not yet decided.</p>
<TableOfContents />
2026-04-07 19:31:58 +02:00
{#each data.feedEntries as entry}
<h2>{entry.title}</h2>
<p class="subtitle">{entry.subtitle}</p>
<p class="subtitle">{entry.date}</p>
<svelte:component this={entry.content} />
2026-04-07 17:33:25 +02:00
{/each}
2026-02-25 23:23:06 +01:00
</Content>
<style>
2026-04-07 18:37:54 +02:00
.page-button-container {
display: flex;
flex-direction: row;
align-items: stretch;
justify-content: center;
border-radius: var(--border-radius);
overflow: hidden;
width: fit-content;
margin: 12px auto;
border-top: var(--border-style) var(--border-dash-size) var(--color-highlight-alt);
border-bottom: var(--border-style) var(--border-dash-size) var(--color-highlight-alt);
}
.page-button, .page-index {
font-family: var(--font-mono);
padding: 8px 18px;
font-weight: 600;
margin: 0;
transition: background-color var(--duration-animation) var(--anim-curve);
}
.page-button {
color: var(--color-text);
}
.page-button-left {
border-right: var(--border-style) var(--border-dash-size) var(--color-highlight-alt);
}
.page-button-right {
border-left: var(--border-style) var(--border-dash-size) var(--color-highlight-alt);
}
.page-button-clickable:hover {
cursor: pointer;
}
.page-index:link, .page-index:visited {
color: var(--color-text)
}
.page-index:hover, .page-button-clickable:hover {
text-decoration: none;
background-color: var(--color-background-highlight-alt);
}
2026-04-07 19:31:58 +02:00
.subtitle {
2026-02-25 23:23:06 +01:00
font-family: var(--font-mono);
margin: 0;
2026-04-06 20:20:56 +02:00
font-size: 1rem;
2026-02-25 23:23:06 +01:00
line-height: 1.4rem;
font-style: italic;
font-weight: 700;
color: var(--color-highlight-alt);
}
.subtitle::before {
2026-04-06 20:20:56 +02:00
content: "<!-- ";
2026-02-25 23:23:06 +01:00
}
.subtitle::after {
2026-04-06 20:20:56 +02:00
content: " -->";
2026-04-07 19:31:58 +02:00
}
2026-04-06 20:20:56 +02:00
</style>