/**
* Blog Overview Page
*
* Landing page with series cards and recent posts
*/
import Link from 'next/link'
import { getAllPosts, getSeriesWithCounts, type BlogSeries } from '@/lib/mdx/blog'
export const metadata = {
title: 'Blog - AI Speedrun',
description: 'Artikelen over AI-gestuurde software ontwikkeling, healthcare IT en het bouwen van een EPD.',
openGraph: {
title: 'Blog - AI Speedrun',
description: 'Artikelen over AI-gestuurde software ontwikkeling, healthcare IT en het bouwen van een EPD.',
type: 'website',
siteName: 'AI Speedrun',
locale: 'nl_NL',
},
twitter: {
card: 'summary',
title: 'Blog - AI Speedrun',
description: 'Artikelen over AI-gestuurde software ontwikkeling, healthcare IT en het bouwen van een EPD.',
},
alternates: {
canonical: `${process.env.NEXT_PUBLIC_APP_URL || 'https://aispeedrun.vercel.app'}/blog`,
},
}
export default async function BlogPage() {
const series = await getSeriesWithCounts()
const posts = await getAllPosts()
return (
{/* Header */}
Blog
Artikelen over AI-gestuurde ontwikkeling en de reis van het bouwen van een EPD.
{/* Series Section */}
{series.length > 0 && (
Series
{series.map((serie) => (
))}
)}
{/* Recent Posts Section */}
Recente Posts
{posts.length === 0 ? (
Nog geen blogposts gepubliceerd.
) : (
{posts.map((post) => (
{post.seriesId.replace('-', ' ')}
••{post.readingTime} min leestijd