feat: blog post images

This commit is contained in:
PascalSchattenburg
2026-01-24 20:58:56 +01:00
parent 78e7c56650
commit 51709e1602
14 changed files with 68 additions and 27 deletions

View File

@@ -19,55 +19,67 @@ export default function BlogIndexPage() {
<div
className="flex whitespace-nowrap"
style={{
animation: "marquee 25s linear infinite",
animation: "marquee 45s linear infinite",
}}
>
<h1 className="text-[130px] font-semibold tracking-widest leading-tight mr-20">
<h1 className="text-[80px] font-semibold tracking-widest leading-tight mr-20 text-gray-500">
BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG
</h1>
<h1 className="text-[130px] font-semibold tracking-widest leading-tight mr-20">
BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG · BLOG
<h1 className="text-[80px] font-semibold tracking-widest leading-tight mr-20 text-gray-500">
BLOG BLOG BLOG BLOG BLOG BLOG BLOG BLOG BLOG BLOG BLOG BLOG BLOG BLOG BLOG BLOG BLOG BLOG · BLOG · BLOG · BLOG
</h1>
</div>
<div
className="flex whitespace-nowrap mt-[-70px]"
style={{
animation: "marquee 40s linear infinite",
}}
className="flex whitespace-nowrap mt-[-30px]"
/*style={{
animation: "marquee 50s linear infinite",
}}*/
>
<p className="text-[30px] opacity-60 tracking-[0.05em] mr-20">
Thoughts, experiments and notes from the Voyage universe. ·
Thoughts, experiments and notes from the Voyage universe.
</p>
<p className="text-[30px] opacity-60 tracking-[0.05em] mr-20">
Thoughts, experiments and notes from the Voyage universe. ·
Thoughts, experiments and notes from the Voyage universe.
</p>
</div>
</div>
</section>
<main className="mt-12">
<div className="grid grid-cols-3 gap-16 mt-[30]">
{/*blog section*/}
<main className="mt-[10px] px-[30px] md:px-[10px]">
<div className="grid grid-cols-3 gap-x-[30px] gap-y-[90px] mt-[50]">
{posts.map((p) => (
<article
key={p.slug}
className="rounded-2xl bg-neutral-50 p-10"
className="rounded-2xl bg-neutral-50 overflow-hidden"
>
<div className="text-xs opacity-60">
{p.meta.date}
<div className="aspect-square w-full bg-neutral-200">
<img
src={p.meta.image ?? "/blog/placeholder.jpg"}
alt={p.meta.title}
className="h-full w-full object-cover"
/>
</div>
<h2 className="mt-[20px] text-3xl font-semibold leading-tight">
<Link href={`/blog/${p.slug}`}>
{p.meta.title}
</Link>
</h2>
<div className="p-10">
<div className="text-xs opacity-60">
{p.meta.date}
</div>
{p.meta.excerpt && (
<p className="mt-4 opacity-50">
{p.meta.excerpt}
</p>
)}
<h2 className="mt-3 text-[40px] font-semibold leading-tight">
<Link href={`/blog/${p.slug}`}>
{p.meta.title}
</Link>
</h2>
{p.meta.excerpt && (
<p className="mt-4 opacity-50">
{p.meta.excerpt}
</p>
)}
</div>
</article>
))}
</div>

View File

@@ -1,7 +1,8 @@
---
title: "My First Blog Post"
date: "2026-01-22"
excerpt: "This is my very first post on the Voyage blog."
excerpt: "This is my very first post on the Voyage blog and it will me soooooooooo amazing guys so thank you for tuning in and waiting to fly wiht us VOYAGE."
image: "/blog/first.jpg"
---
# My First Blog Post

View File

@@ -2,6 +2,7 @@
title: "here we go"
date: "2026-01-22"
excerpt: "this is the first meaningfull sentence you will here from us."
image: "/blog/second.jpg"
---

View File

@@ -0,0 +1,8 @@
---
title: "JOOOOOOKEEEE, VYAGE IS A JOKE"
date: "2026-01-24"
excerpt: "ST DAY OF JOKING"
image: "/blog/fifth.jpg"
---
Hey Guys whats uppp, this was a very good day. i feel exahsutet ihr kleinen Wixxer

View File

@@ -0,0 +1,8 @@
---
title: "🥵today we ran 10 k in 10 minutes fr"
date: "2026-01-24"
excerpt: "first full day of training. swimming and biking"
image: "/blog/fourth.jpg"
---
Hey Guys whats uppp, this was a very good day. i feel exahsutet ihr kleinen Wixxer

View File

@@ -0,0 +1,8 @@
---
title: "Okaa das war zu viel des guten "
date: "2026-01-24"
excerpt: "Beeing serious!"
image: "/blog/six.jpg"
---
Hey Guys whats uppp, this was a very good day. i feel exahsutet ihr kleinen Wixxer

View File

@@ -2,6 +2,7 @@
title: "NO THIS IS A JOKE🖕🏼🖕🏼"
date: "2026-01-25"
excerpt: "this is the first meaningfull sentence you will here from us."
image: "/blog/third.jpg"
---
hier ist der erste blog von VOYAGE. Pupi ist ein rihcitg krummer pimmel

View File

@@ -6,6 +6,7 @@ export type PostMeta = {
title: string;
date: string;
excerpt?: string;
image?: string;
};
export type Post = {
@@ -39,7 +40,8 @@ export function getAllPosts(): Post[] {
const meta: PostMeta = {
title: String(data.title ?? slug),
date: String(data.date ?? "1970-01-01"),
excerpt: data.excerpt ? String(data.excerpt) : undefined
excerpt: data.excerpt ? String(data.excerpt) : undefined,
image: data.image ? String(data.image) : undefined
};
return { slug, meta, content };

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB