Files
schachfreunde-badsteben/site/templates/blog.php
T
tfeigel a851c8101b feat: add blog section with blueprint, template, and structured content
Introduced a new blog section with a dedicated blueprint (`blog.yml`) and PHP template (`blog.php`). Added initial content, including hero text, button, and link for improved navigation and communication. Structured layout supports dynamic blog post rendering with author details and summaries.
2025-07-09 16:18:23 +02:00

45 lines
2.1 KiB
PHP

<?php snippet('layout', slots: true) ?>
<?php foreach($page->children() as $post): ?>
<article class="relative isolate flex flex-col gap-8 lg:flex-row">
<div class="relative aspect-video sm:aspect-2/1 lg:aspect-square lg:w-64 lg:shrink-0">
<img src="<?= $post->image()->url() ?>" alt="" class="absolute inset-0 size-full rounded-2xl bg-gray-50 object-cover" />
<div class="absolute inset-0 rounded-2xl ring-1 ring-gray-900/10 ring-inset"></div>
</div>
<div>
<div class="flex items-center gap-x-4 text-xs">
<time datetime="2020-03-16" class="text-gray-500"><?= $post->date()->toDate("d.m.Y") ?></time>
<a href="#" class="relative z-10 rounded-full bg-gray-50 px-3 py-1.5 font-medium text-gray-600 hover:bg-gray-100">Marketing</a>
</div>
<div class="group relative max-w-xl">
<h2>
<a href="<?= $post->url() ?>" class="relative">
<span class="absolute inset-0"></span>
<?= $post->headline() ?>
</a>
</h2>
<p><?= $post->summary() ?></p>
</div>
<?php if ($user = $post->author()->toUser()): ?>
<div class="mt-6 flex border-t border-gray-900/5 pt-6">
<div class="relative flex items-center gap-x-4">
<img src="<?= $user->avatar()->url() ?>" alt="" class="size-10 rounded-full bg-gray-50" />
<div class="text-sm/6">
<p>
<a href="#">
<span class="absolute inset-0"></span>
<div class="text-xl">
<?= $user->username() ?>
</div>
</a>
</p>
<p class="text-sm"><?= $user->role()->title() ?></p>
</div>
</div>
</div>
<?php endif ?>
</div>
</article>
<?php endforeach ?>
<?php endsnippet() ?>