--- /dev/null
+---
+import { getCollection } from 'astro:content';
+
+const posts = await getCollection('blog', ({ data }) => !data.draft);
+const byYear: Record<string, number> = {};
+for (const post of posts) {
+ const year = post.data.date.getFullYear().toString();
+ byYear[year] = (byYear[year] ?? 0) + 1;
+}
+const years = Object.keys(byYear).sort((a, b) => Number(b) - Number(a));
+---
+<html lang="en">
+<head><meta charset="utf-8"><title>Archiv | juplo</title></head>
+<body>
+ <h1>Archiv</h1>
+ <ul>
+ {years.map(year => (
+ <li>
+ <a href={`/blog/archive/${year}/`}>
+ <span>{year}</span> <span>({byYear[year]})</span>
+ </a>
+ </li>
+ ))}
+ </ul>
+ <p><a href="/blog/">← Blog</a></p>
+</body>
+</html>