Merge pull request 'Updated News and Blog Templates' (#13) from develop into main
Reviewed-on: https://git.feigel.it/SFBadSteben/schachfreunde-badsteben/pulls/13
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 546 KiB |
@@ -0,0 +1 @@
|
||||
Uuid: caqxepg6gkdvlqzd
|
||||
@@ -0,0 +1,56 @@
|
||||
Title: 20250415-Vereinsblitzmeisterschaft
|
||||
|
||||
----
|
||||
|
||||
Blocks:
|
||||
|
||||
[
|
||||
{
|
||||
"content": {
|
||||
"text": "<p>Im Anschluss an die Jahreshauptversammlung wurde, wie in jedem Jahr, die Vereinsblitzmeisterschaft ausgetragen. Nach 5 Runden stand der Vereinsblitzmeister fest: Mit vier Siegen und nur einem Remis gewann Dominik Döge den Titel gefolgt von Klasu Frommelt mit einem Punkt Abstand. Dritter wurde Jürgen Franz mit 3 Punkten.</p><p>Das Bild zeigt die Gewinner (v. l. Klaus Frommelt, Dominik Döge und Jürgen Franz).</p><p>Rangliste: Stand nach der 5. Runde</p>"
|
||||
},
|
||||
"id": "5acee286-6e6e-46ae-8621-e628bc1eb2d6",
|
||||
"isHidden": false,
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"content": {
|
||||
"text": "<table bgcolor=\"#C0C0C0\" border=\"2\" cellpadding=\"2\" cellspacing=\"2\">\n\t<thead>\n\t\t<tr>\n\t\t\t<td colspan=\"13\">Rangliste: Stand nach der 5. Runde </td>\n\t\t</tr>\n\t\t<tr bgcolor=\"#00FF00\">\n\t\t\t<th style=\"text-align: left;\">Rang</th>\n\t\t\t<th style=\"text-align: left;\">Teilnehmer</th>\n\t\t\t<th style=\"text-align: left;\">Titel</th>\n\t\t\t<th style=\"text-align: left;\">TWZ</th>\n\t\t\t<th style=\"text-align: left;\">At</th>\n\t\t\t<th style=\"text-align: left;\">Verein/Ort</th>\n\t\t\t<th style=\"text-align: left;\">Land</th>\n\t\t\t<th style=\"text-align: left;\">S</th>\n\t\t\t<th style=\"text-align: left;\">R</th>\n\t\t\t<th style=\"text-align: left;\">V</th>\n\t\t\t<th style=\"text-align: left;\">Punkte</th>\n\t\t\t<th style=\"text-align: left;\">SoBer</th>\n\t\t\t<th style=\"text-align: left;\">Siege</th>\n\t\t</tr>\n\t</thead>\n\t<tbody>\n\t\t<tr bgcolor=\"#00FFFF\">\n\t\t\t<td>1</td>\n\t\t\t<td>Döge,Dominik</td>\n\t\t\t<td></td>\n\t\t\t<td>1607</td>\n\t\t\t<td>M</td>\n\t\t\t<td>SF Bad Steben</td>\n\t\t\t<td>GER</td>\n\t\t\t<td>4</td>\n\t\t\t<td>1</td>\n\t\t\t<td>0</td>\n\t\t\t<td>4.5</td>\n\t\t\t<td>9.75</td>\n\t\t\t<td>4</td>\n\t\t</tr>\n\t\t<tr bgcolor=\"#00FFFF\">\n\t\t\t<td>2</td>\n\t\t\t<td>Frommelt,Klaus</td>\n\t\t\t<td></td>\n\t\t\t<td>1622</td>\n\t\t\t<td>M</td>\n\t\t\t<td>SF Bad Steben</td>\n\t\t\t<td>GER</td>\n\t\t\t<td>3</td>\n\t\t\t<td>1</td>\n\t\t\t<td>1</td>\n\t\t\t<td>3.5</td>\n\t\t\t<td>5.75</td>\n\t\t\t<td>3</td>\n\t\t</tr>\n\t\t<tr bgcolor=\"#00FFFF\">\n\t\t\t<td>3</td>\n\t\t\t<td>Franz,Jürgen</td>\n\t\t\t<td></td>\n\t\t\t<td>1692</td>\n\t\t\t<td>M</td>\n\t\t\t<td>SF Bad Steben</td>\n\t\t\t<td>GER</td>\n\t\t\t<td>3</td>\n\t\t\t<td>0</td>\n\t\t\t<td>2</td>\n\t\t\t<td>3.0</td>\n\t\t\t<td>4.00</td>\n\t\t\t<td>3</td>\n\t\t</tr>\n\t\t<tr bgcolor=\"#00FFFF\">\n\t\t\t<td>4</td>\n\t\t\t<td>Müller,Rainald</td>\n\t\t\t<td></td>\n\t\t\t<td>1531</td>\n\t\t\t<td>M</td>\n\t\t\t<td>SF Bad Steben</td>\n\t\t\t<td>GER</td>\n\t\t\t<td>2</td>\n\t\t\t<td>1</td>\n\t\t\t<td>2</td>\n\t\t\t<td>2.5</td>\n\t\t\t<td>3.25</td>\n\t\t\t<td>2</td>\n\t\t</tr>\n\t\t<tr bgcolor=\"#00FFFF\">\n\t\t\t<td>5</td>\n\t\t\t<td>Döge,Alexander</td>\n\t\t\t<td></td>\n\t\t\t<td>1634</td>\n\t\t\t<td>M</td>\n\t\t\t<td>SF Bad Steben</td>\n\t\t\t<td>GER</td>\n\t\t\t<td>1</td>\n\t\t\t<td>1</td>\n\t\t\t<td>3</td>\n\t\t\t<td>1.5</td>\n\t\t\t<td>2.25</td>\n\t\t\t<td>1</td>\n\t\t</tr>\n\t\t<tr bgcolor=\"#00FFFF\">\n\t\t\t<td>6</td>\n\t\t\t<td>Haberzettl,Bernd</td>\n\t\t\t<td></td>\n\t\t\t<td>1393</td>\n\t\t\t<td>M</td>\n\t\t\t<td>SF Bad Steben</td>\n\t\t\t<td>GER</td>\n\t\t\t<td>0</td>\n\t\t\t<td>0</td>\n\t\t\t<td>5</td>\n\t\t\t<td>0.0</td>\n\t\t\t<td>0.00</td>\n\t\t\t<td>0</td>\n\t\t</tr>\n\t</tbody>\n</table>"
|
||||
},
|
||||
"id": "d2ae240f-c0e4-47e0-9562-0420e81c5ebc",
|
||||
"isHidden": false,
|
||||
"type": "markdown"
|
||||
}
|
||||
]
|
||||
|
||||
----
|
||||
|
||||
Image: - file://caqxepg6gkdvlqzd
|
||||
|
||||
----
|
||||
|
||||
Headline: Vereinsblitzmeisterschaft 2025
|
||||
|
||||
----
|
||||
|
||||
Subheadline:
|
||||
|
||||
----
|
||||
|
||||
Summary: Im Anschluss an die Jahreshauptversammlung wurde, wie in jedem Jahr, die Vereinsblitzmeisterschaft ausgetragen. Nach 5 Runden stand der Vereinsblitzmeister fest: Mit vier Siegen und nur einem Remis gewann Dominik Döge den Titel gefolgt von Klaus Frommelt mit einem Punkt Abstand. Dritter wurde Jürgen Franz mit 3 Punkten.
|
||||
|
||||
----
|
||||
|
||||
Tags: Vereinsmeisterschaft, Spielbericht
|
||||
|
||||
----
|
||||
|
||||
Author: - user://myU6sssZ
|
||||
|
||||
----
|
||||
|
||||
Date: 2025-04-15
|
||||
|
||||
----
|
||||
|
||||
Uuid: fotaqn1ncsptpivg
|
||||
@@ -0,0 +1,52 @@
|
||||
Title: 20250708-Kreismannschaftspokal
|
||||
|
||||
----
|
||||
|
||||
Blocks:
|
||||
|
||||
[
|
||||
{
|
||||
"content": {
|
||||
"text": "<p>Nachdem in der ersten Runde am 15.06.2025 die Vierermannschaft der SG Sf Bad Steben/TV Reinersreuth (1) gegen die 2.Vertretung des ATSV Oberkotzau (B) mit 0,5:3,5 den Kürzeren zog und aus dem Pokal-geschehen ausschied, erging es unserer 2.Mannschaft gegen den SK Kulmbach (A) nicht viel besser. Die favorisierten Bierstädter – welche als Aufsteiger in der kommenden Saison in der Bezirksliga Ost spielen - entschieden das Match klar mit 3,0:1,0 zu ihren Gunsten. Damit qualifizierten sie sich für das Endspiel gegen ein Team vom ATSV Oberkotzau.</p><p>Am Spitzenbrett traf <strong>Alexander Döge</strong> auf den starken Ayman Amr Aly (Elo: 1857). Aus der Eröffnung kam er mit den schwarzen Steinen spielend mit Mehrbauer heraus. Im Endspiel mit ungleichfarbigen Läufern verflüchtigte sich der schwarze Vorteil und die Partie steuerte den Remishafen an. Im 42.Zug unterlief seinem Gegner aber ein schwerer Patzer, welcher zum sofortigen Verlust des Kulmbachers hätte führen müssen. Leider übersah Alexander den Gewinnweg und nach 62 Zügen stellte er trotz zweier Mehrbauern alle Gewinnversuche ein. Das Unentschieden gegen einen weitaus stärkeren Gegner nötigt jedoch großen Respekt ab. </p><p><strong>Dominik Kadlic</strong> (NWZ: 1534) spielte mit den weißen Steinen gegen die französische Verteidigung von Benjamin Weiß (1708) und konnte sich am Ende über eine wertvolle Punkteteilung freuen. Nach einem frühzeitigen großen Figurenabtausch entstand ein Läuferendspiel mit jeweils fünf Bauern, welches völlig ausgeglichen war. </p><p><strong>Rainald Müller</strong> wählte gegenüber Dominik Kunte die solide Caro Kann-Verteidigung. Im 13.Zug unterlief ihm aber ein schwerer Fehler, welchen der Weiße zwar nicht sofort ausnutzte, aber die schwarze Stellung geriet zusehends unter starken Druck und war mit einer Leichtfigur weniger nicht mehr zu retten. Trotz hart-näckiger Gegenwehr gab der Bad Stebener die hoffnungslos gewordene Partie im 45.Zug auf.</p><p><strong>Reinhard Saalfrank</strong> von Reinersreuth musste sich mit Mathias Dierl auseinandersetzen. Frühzeitig brach der Kulmbacher in die gegnerische Stellung ein und Reinhard musste seinem Gegenüber schon bald die Hand zum Sieg reichen.</p>"
|
||||
},
|
||||
"id": "1ab3788d-e2d9-404b-a055-a60ce7a350da",
|
||||
"isHidden": false,
|
||||
"type": "text"
|
||||
}
|
||||
]
|
||||
|
||||
----
|
||||
|
||||
Image: - file://7lan9fec2xf14ptx
|
||||
|
||||
----
|
||||
|
||||
Headline: Chancenlos gegen die Favoriten
|
||||
|
||||
----
|
||||
|
||||
Subheadline: Kreismannschaftspokal
|
||||
|
||||
----
|
||||
|
||||
Summary: Nachdem in der ersten Runde am 15.06.2025 die Vierermannschaft der SG Sf Bad Steben/TV Reinersreuth (1) gegen die 2.Vertretung des ATSV Oberkotzau (B) mit 0,5:3,5 den Kürzeren zog und aus dem Pokal-geschehen ausschied, erging es unserer 2.Mannschaft gegen den SK Kulmbach (A) nicht viel besser. Die favorisierten Bierstädter – welche als Aufsteiger in der kommenden Saison in der Bezirksliga Ost spielen - entschieden das Match klar mit 3,0:1,0 zu ihren Gunsten. Damit qualifizierten sie sich für das Endspiel gegen ein Team vom ATSV Oberkotzau.
|
||||
|
||||
----
|
||||
|
||||
Tags: Spielbericht, Turnierbericht
|
||||
|
||||
----
|
||||
|
||||
Author: - user://myU6sssZ
|
||||
|
||||
----
|
||||
|
||||
Date: 2025-07-08
|
||||
|
||||
----
|
||||
|
||||
Uuid: ackrirrywfq3usug
|
||||
|
||||
----
|
||||
|
||||
Categories: spielbericht, turnierbericht, vereinsleben
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 69 KiB |
@@ -0,0 +1 @@
|
||||
Uuid: 7lan9fec2xf14ptx
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.6 MiB |
@@ -1 +0,0 @@
|
||||
Uuid: eiecqh0l4nefl1er
|
||||
@@ -1,61 +0,0 @@
|
||||
Title: 20250709-Test
|
||||
|
||||
----
|
||||
|
||||
Headline: Absolut Chancenlos!
|
||||
|
||||
----
|
||||
|
||||
Subheadline: Kreismeisterschaft zieht Kreise
|
||||
|
||||
----
|
||||
|
||||
Author: - user://myU6sssZ
|
||||
|
||||
----
|
||||
|
||||
Date: 2025-07-03
|
||||
|
||||
----
|
||||
|
||||
Image: - file://eiecqh0l4nefl1er
|
||||
|
||||
----
|
||||
|
||||
Summary: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren!
|
||||
|
||||
----
|
||||
|
||||
Blocks:
|
||||
|
||||
[
|
||||
{
|
||||
"content": {
|
||||
"level": "h2",
|
||||
"text": "Chancenlos im Weltall"
|
||||
},
|
||||
"id": "8b5bee77-9d6b-4c5f-b3fc-2faa3404a623",
|
||||
"isHidden": false,
|
||||
"type": "heading"
|
||||
},
|
||||
{
|
||||
"content": {
|
||||
"fen": "8/8/8/4b1K1/2k1B3/8/8/8 s - - 0 1"
|
||||
},
|
||||
"id": "c523aec4-886c-41a9-bb78-58169e83320c",
|
||||
"isHidden": false,
|
||||
"type": "fen"
|
||||
},
|
||||
{
|
||||
"content": {
|
||||
"text": "<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>"
|
||||
},
|
||||
"id": "1ab3788d-e2d9-404b-a055-a60ce7a350da",
|
||||
"isHidden": false,
|
||||
"type": "text"
|
||||
}
|
||||
]
|
||||
|
||||
----
|
||||
|
||||
Uuid: ackrirrywfq3usug
|
||||
@@ -1,29 +0,0 @@
|
||||
Title: Test
|
||||
|
||||
----
|
||||
|
||||
Headline:
|
||||
|
||||
----
|
||||
|
||||
Author: - user://myU6sssZ
|
||||
|
||||
----
|
||||
|
||||
Date: 2025-07-09
|
||||
|
||||
----
|
||||
|
||||
Image:
|
||||
|
||||
----
|
||||
|
||||
Summary:
|
||||
|
||||
----
|
||||
|
||||
Blocks:
|
||||
|
||||
----
|
||||
|
||||
Uuid: fotaqn1ncsptpivg
|
||||
@@ -13,6 +13,7 @@ columns:
|
||||
fieldsets:
|
||||
- heading
|
||||
- text
|
||||
- markdown
|
||||
- image
|
||||
- line
|
||||
- gallery
|
||||
@@ -51,6 +52,17 @@ columns:
|
||||
label: Zusammenfassung
|
||||
type: textarea
|
||||
size: small
|
||||
tags:
|
||||
label: Tags
|
||||
type: multiselect
|
||||
min: 1
|
||||
max: 3
|
||||
options:
|
||||
Spielbericht: Spielbericht
|
||||
Vereinsleben: Vereinsleben
|
||||
Vereinsmeisterschaft: Vereinsmeisterschaft
|
||||
Pressebericht: Pressebericht
|
||||
Turnierbericht: Turnierbericht
|
||||
author:
|
||||
label: Autor
|
||||
type: users
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
<div class="py-16">
|
||||
<h2>Neuigkeiten aus dem Verein</h2>
|
||||
<div class="mx-auto mt-16 grid max-w-2xl grid-cols-1 gap-x-8 gap-y-20 lg:mx-0 lg:max-w-none lg:grid-cols-3">
|
||||
<?php foreach($news as $post): ?>
|
||||
<article class="flex flex-col items-start justify-between">
|
||||
<div class="relative w-full">
|
||||
<img src="<?= $post->image()->url() ?>" alt="" class="w-full h-64 rounded-xl object-cover" />
|
||||
<div class="absolute inset-0 rounded-2xl inset-ring inset-ring-gray-900/10"></div>
|
||||
</div>
|
||||
<div class="flex max-w-xl grow flex-col justify-between">
|
||||
<div class="mt-8 flex items-center gap-x-4 text-xs">
|
||||
<time class="text-gray-500"><?= $post->date()->toDate("d.m.Y") ?></time>
|
||||
<?php foreach($post->tags()->split() as $tag): ?>
|
||||
<a href="<?= page('news')->url(['params' => ['tag' => $tag]]) ?>" class="relative z-10 rounded-full bg-gray-50 px-3 py-1.5 font-medium text-gray-600 hover:bg-gray-100"><?= $tag ?></a>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<div class="group relative grow">
|
||||
<h2>
|
||||
<a href="<?= $post->url() ?>">
|
||||
<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; ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -107,16 +107,28 @@
|
||||
|
||||
// Funktion zum Aktualisieren der Sichtbarkeit der Pfeile
|
||||
function updateArrowVisibility() {
|
||||
scrollLeftBtn.classList.toggle('opacity-50', currentPosition <= 0);
|
||||
scrollRightBtn.classList.toggle('opacity-50', currentPosition >= maxPosition);
|
||||
// Linker Pfeil nur anzeigen, wenn es vorherige Termine gibt
|
||||
if (currentPosition <= 0) {
|
||||
scrollLeftBtn.classList.add('hidden');
|
||||
} else {
|
||||
scrollLeftBtn.classList.remove('hidden');
|
||||
}
|
||||
|
||||
// Rechter Pfeil nur anzeigen, wenn es weitere Termine gibt
|
||||
if (currentPosition >= maxPosition) {
|
||||
scrollRightBtn.classList.add('hidden');
|
||||
} else {
|
||||
scrollRightBtn.classList.remove('hidden');
|
||||
}
|
||||
}
|
||||
|
||||
// Initialisierung - verstecke die Pfeile wenn weniger als cardsToShow+1 Karten vorhanden sind
|
||||
// Initialisierung - zeige die Pfeile nur, wenn es genug Karten gibt
|
||||
if (totalCards <= cardsToShow) {
|
||||
scrollLeftBtn.classList.add('hidden');
|
||||
scrollRightBtn.classList.add('hidden');
|
||||
} else {
|
||||
scrollLeftBtn.classList.remove('hidden');
|
||||
// Am Anfang ist der linke Pfeil ausgeblendet, da wir bei Position 0 sind
|
||||
scrollLeftBtn.classList.add('hidden');
|
||||
scrollRightBtn.classList.remove('hidden');
|
||||
}
|
||||
|
||||
@@ -161,14 +173,8 @@
|
||||
// Position aktualisieren
|
||||
scrollToPosition();
|
||||
|
||||
// Pfeile aktualisieren
|
||||
if (totalCards <= cardsToShow) {
|
||||
scrollLeftBtn.classList.add('hidden');
|
||||
scrollRightBtn.classList.add('hidden');
|
||||
} else {
|
||||
scrollLeftBtn.classList.remove('hidden');
|
||||
scrollRightBtn.classList.remove('hidden');
|
||||
}
|
||||
// Pfeile-Sichtbarkeit aktualisieren
|
||||
updateArrowVisibility();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
+35
-13
@@ -1,17 +1,33 @@
|
||||
<?php snippet('layout', slots: true) ?>
|
||||
|
||||
<?php foreach($page->children() as $post): ?>
|
||||
<article class="relative isolate flex flex-col gap-8 lg:flex-row">
|
||||
<?php
|
||||
// Filterfunktionalität implementieren
|
||||
$posts = $page->children()->sortBy('date', 'desc');
|
||||
|
||||
// Nach Kategorie (Tag) filtern
|
||||
if($tag = param('tag')) {
|
||||
$posts = $posts->filterBy('tags', $tag, ',');
|
||||
}
|
||||
?>
|
||||
|
||||
<?php foreach($posts as $post): ?>
|
||||
<article class="relative flex flex-col gap-8 lg:flex-row py-12">
|
||||
<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" />
|
||||
<img src="<?= $post->image()->url() ?>" alt="" class="absolute inset-0 size-full rounded-xl 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 class="flex items-center gap-x-4 text-m justify-between">
|
||||
<div>
|
||||
<time class="text-gray-500"><?= $post->date()->toDate("d.m.Y") ?></time>
|
||||
</div>
|
||||
<div>
|
||||
<?php foreach($post->tags()->split() as $tag): ?>
|
||||
<a href="<?= $page->url(['params' => ['tag' => $tag]]) ?>" class="relative z-10 rounded-full bg-gray-50 px-3 py-1.5 font-medium text-gray-600 hover:bg-gray-100"><?= $tag ?></a>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="group relative max-w-xl">
|
||||
<div class="group relative">
|
||||
<h2>
|
||||
<a href="<?= $post->url() ?>" class="relative">
|
||||
<span class="absolute inset-0"></span>
|
||||
@@ -26,12 +42,10 @@
|
||||
<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>
|
||||
<span class="absolute inset-0"></span>
|
||||
<div class="text-xl">
|
||||
<?= $user->username() ?>
|
||||
</div>
|
||||
</p>
|
||||
<p class="text-sm"><?= $user->role()->title() ?></p>
|
||||
</div>
|
||||
@@ -42,4 +56,12 @@
|
||||
</article>
|
||||
<?php endforeach ?>
|
||||
|
||||
<?php if(param('tag')): ?>
|
||||
<div class="my-8">
|
||||
<a href="<?= $page->url() ?>" class="bg-gray-100 hover:bg-gray-200 text-gray-800 font-semibold py-2 px-4 rounded">
|
||||
Alle Beiträge anzeigen
|
||||
</a>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
|
||||
<?php endsnippet() ?>
|
||||
@@ -2,6 +2,13 @@
|
||||
|
||||
<h1>Hallo Welt!</h1>
|
||||
|
||||
<?php snippet('termine-home') ?>
|
||||
<?php snippet('home-news', [
|
||||
'news' => page('news')
|
||||
->children()
|
||||
->limit(3)
|
||||
->sortBy('date', 'desc')
|
||||
]) ?>
|
||||
|
||||
<?php snippet('home-termine') ?>
|
||||
|
||||
<?php endsnippet() ?>
|
||||
+13
-3
@@ -23,12 +23,23 @@
|
||||
|
||||
|
||||
<?php snippet('layout', slots: true) ?>
|
||||
<p><?= $page->date()->toDate("d.m.Y") ?> - <?= $page->subheadline() ?></p>
|
||||
<div class="text-right pb-2">
|
||||
<?php foreach($page->tags()->split() as $tag): ?>
|
||||
<a href="<?= page('news')->url(['params' => ['tag' => $tag]]) ?>" class="relative z-10 rounded-full bg-gray-50 px-3 py-1.5 font-medium text-gray-600 hover:bg-gray-100"><?= $tag ?></a>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<?= $page->date()->toDate("d.m.Y") ?>
|
||||
<?php if ($page->subheadline()->isNotEmpty()): ?>
|
||||
- <?= $page->subheadline() ?>
|
||||
<?php endif ?>
|
||||
</p>
|
||||
|
||||
<h1><?= $page->headline() ?></h1>
|
||||
|
||||
<div>
|
||||
<img src="<?= $page->image()->url() ?>" alt="">
|
||||
<img class="w-full rounded-xl object-cover" src="<?= $page->image()->url() ?>" alt="">
|
||||
</div>
|
||||
|
||||
<div class="blockpage">
|
||||
@@ -53,5 +64,4 @@
|
||||
</div>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
|
||||
<?php endsnippet() ?>
|
||||
Reference in New Issue
Block a user