Replace the old CSV-upload-based CMS with an SSG architecture where templates live in git as .md.jinja files with YAML frontmatter and data comes directly from DuckDB serving tables. Only articles and published_scenarios remain in SQLite for routing/state. - Content module: discover, load, generate, preview functions - Migration 0018: drop article_templates + template_data, recreate articles + published_scenarios without FK references, add template_slug/language/date_modified/seo_head columns - Admin routes: read-only template views with generate/regenerate/preview - SEO pipeline: canonical URLs, hreflang (EN+DE), JSON-LD (Article, FAQPage, BreadcrumbList), Open Graph tags baked at generation time - Example template: city-cost-de.md.jinja for German city market data Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
37 KiB
37 KiB