42 lines
1.5 KiB
PHP
42 lines
1.5 KiB
PHP
<?php
|
|
require_once BASE_PATH . '/src/Parsedown.php';
|
|
$Parsedown = new Parsedown();
|
|
|
|
ob_start();
|
|
?>
|
|
|
|
<div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4">
|
|
<?php foreach ($posts as $post): ?>
|
|
<?php
|
|
$html = $Parsedown->text($post['content']);
|
|
$preview = mb_strimwidth(strip_tags($html), 0, 160, '…');
|
|
?>
|
|
<div class="col">
|
|
<article class="card h-100">
|
|
<div class="card-body d-flex flex-column">
|
|
<h2 class="card-title">
|
|
<a href="route.php?action=view&id=<?= $post['id'] ?>">
|
|
<?= htmlspecialchars($post['title']) ?>
|
|
</a>
|
|
<?php if (!$post['is_published']): ?>
|
|
<span class="badge bg-warning ms-1">Brouillon</span>
|
|
<?php endif; ?>
|
|
</h2>
|
|
<p class="card-text flex-grow-1"><?= htmlspecialchars($preview) ?></p>
|
|
<div class="post-entry-meta mt-auto">
|
|
<span><?= date('d/m/Y', strtotime($post['created_at'])) ?></span>
|
|
<a href="route.php?action=edit&id=<?= $post['id'] ?>" class="post-entry-edit">modifier</a>
|
|
<a href="route.php?action=view&id=<?= $post['id'] ?>" class="post-entry-read">→ lire</a>
|
|
</div>
|
|
</div>
|
|
<a href="route.php?action=view&id=<?= $post['id'] ?>" class="stretched-link"></a>
|
|
</article>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
|
|
<?php
|
|
$content = ob_get_clean();
|
|
$title = 'varlog';
|
|
include __DIR__ . '/layout.php';
|