From b9cbd513127254780ae59c8e17ab2c47eea301cb Mon Sep 17 00:00:00 2001 From: memdmp Date: Wed, 14 Jan 2026 17:40:37 +0100 Subject: feat: start working on alpine early init blog post, do a bunch of other blog related stuff --- src/routes/blog/+page.svelte | 90 ++++++++++++++++++++++++++------------------ 1 file changed, 54 insertions(+), 36 deletions(-) (limited to 'src/routes/blog/+page.svelte') diff --git a/src/routes/blog/+page.svelte b/src/routes/blog/+page.svelte index 3ce7b0a..edd1c46 100644 --- a/src/routes/blog/+page.svelte +++ b/src/routes/blog/+page.svelte @@ -3,6 +3,14 @@ import type { PageProps } from './$types'; let { data }: PageProps = $props(); + let posts = $derived( + Object.entries(data.posts) + .filter((v) => v[1].metadata.published === true) + .toSorted( + ([_, a], [__, b]) => + b.metadata.updated.getTime() - a.metadata.updated.getTime(), + ), + ); @@ -12,43 +20,53 @@
-

- ❯ ls - 'blog posts'; -

- {#each Object.entries(data.posts) as [_filename, post]} -
-
- link - short -
-
- - - {#each Object.entries( { ...post.metadata, slug: undefined, id: undefined, created: undefined, updated: undefined }, ).filter((v) => v[1] !== undefined) as v} - - - - - {/each} - -
{v[0]}:{JSON.stringify(v[1])}
-
+ {#if posts.length} +

+ ❯ ls + 'blog posts'; +

+
+ {#each posts as [_filename, post]} +
+
+ link + short +
+
+ + + {#each Object.entries( { ...post.metadata, slug: undefined, id: undefined, created: undefined, updated: undefined, published: undefined }, ).filter((v) => v[1] !== undefined) as v} + + + + + {/each} + +
{v[0]}:{JSON.stringify(v[1])}
+
+
+ {/each}
- {/each} + {:else} +

+ zsh: no + matches found. +

+

Feel free to check back later.

+ {/if}
-- cgit v1.2.3