Untitled Post 21

src/content/blog/

21 blog post markdown files, one per file, filenames YYYY-MM-DD-slug-derived-from-title.md. Loaded eagerly by src/data/blogPosts.ts via import.meta.glob('../content/blog/*.md', { eager: true, query: '?raw' }) and parsed by src/utils/blogMarkdown.ts's parseBlogMarkdown.

Frontmatter schema

---
id: 1
slug: benefits-of-cloud-based-database-solutions
title: "Benefits of Cloud-Based Database Solutions"
date: 2023-01-15
author: "Jane Doe"
excerpt: "One-sentence summary"
readTime: "5 min"
featuredImage: "/blog/placeholder.svg"
tags:
  - business
  - technology
---

All fields are optional at parse time: parseBlogMarkdown falls back to a filename-derived id (from the YYYY-MM-DD prefix) and slug (from the filename, prefix stripped), an estimated read time (words / 220, rounded up, minimum 1 minute), 'BizApps Team' as author, today's date, and the first 140 characters of the body as the excerpt if the corresponding frontmatter key is missing.

Content pattern

Every post currently in this directory follows the same three-section body structure after the intro paragraph: "Why this matters in practice," "Implementation checklist" (bulleted), and "Common pitfalls to avoid" (bulleted) — all currently pointing at /blog/placeholder.svg as the featuredImage (the only image asset present under public/blog/).

Design notes

  • All 21 files were added in a single commit (456a210, "save updates") alongside the entire markdown content-loading pipeline (data/blogPosts.ts, utils/blogMarkdown.ts, pages/Blog.tsx, pages/BlogPost.tsx) — this was the commit that introduced the whole blog feature at once, not an incremental content migration.
  • Posts sort by date descending in src/data/blogPosts.ts, so the newest-dated file becomes the featured post on /blog regardless of filename order.