We wanted a blog that was cheap to run, easy to review, and fully version controlled. Instead of standing up a separate CMS plus a database, we added a small Markdown-driven blog directly into the existing Bridge GPT FastAPI app.
Every post is a Markdown file with YAML frontmatter, committed to git, and served from the same deployed application. There is no admin UI to babysit and no extra service to pay for.
Why Markdown and git
Authoring in Markdown keeps the writing experience simple and lets our AI agent draft posts that a human reviews in a normal pull request. Because the posts live in git, we get the benefits we already rely on for code:
- Full history and blame for every edit.
- Pull-request review before anything goes live.
- Easy rollback if a post needs to be pulled.
How rendering works
The frontmatter is parsed with PyYAML and the Markdown body is rendered to HTML
with the Python Markdown library. Both libraries were already installed, so the
feature added no new dependencies.
Each post contributes:
- A listing entry on the
/blogindex page. - A full article page at
/blog/{slug}. - SEO metadata (title, description, canonical) plus Article JSON-LD.
- An entry in the dynamic
sitemap.xml.
That is everything you need to publish a post: write the Markdown, commit it, and ship.