<?php
declare(strict_types=1);
require_once __DIR__ . '/lib.php';
try {
    $posts = blog_db()->query("SELECT slug, updated_at FROM blog_posts WHERE status = 'published' ORDER BY id ASC")->fetchAll();
} catch (Throwable $error) {
    error_log('Blog sitemap error: ' . $error->getMessage());
    http_response_code(503);
    exit;
}
header('Content-Type: application/xml; charset=utf-8');
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
foreach (['/', '/blog/', '/policy.html'] as $path) {
    echo '  <url><loc>' . blog_escape(BLOG_BASE_URL . $path) . '</loc></url>' . "\n";
}
foreach ($posts as $post) {
    echo '  <url><loc>' . blog_escape(blog_url($post['slug'])) . '</loc><lastmod>' . blog_escape(substr($post['updated_at'], 0, 10)) . '</lastmod></url>' . "\n";
}
echo '</urlset>';
