Blog
Publish a blog post on the marketing site by adding a validated MDX file with the right frontmatter.
The blog is part of the marketing site's MDX content system.
Posts live in apps/marketing/content/blog/<slug>.mdx and are served at
/blog (listing) and /blog/<slug> (post).
Frontmatter
---
title: "Why Convex-first feels different"
description: "A short summary used in listings and meta tags."
publishedAt: 2026-06-01
author: "Your Name"
tags: [engineering, convex]
draft: false
---
Your post body in MDX...| Field | Required | Notes |
|---|---|---|
title | yes | Post title. |
description | yes | Summary for listings and meta tags. |
publishedAt | yes | YYYY-MM-DD. |
author | yes | Display name. |
tags | yes | Inline array, e.g. [a, b]. |
updatedAt | no | YYYY-MM-DD. |
image | no | Absolute path under public/. |
draft | no | true hides it from production. |
Zod validation rejects a file that is missing or malformes any required field, so mistakes fail the build instead of shipping.
Publish a post
- Add
apps/marketing/content/blog/<slug>.mdx. - Fill in the frontmatter above; place any images under
public/and reference them by absolute path. - Preview with
bun run dev:marketing(drafts are visible locally). - Set
draft: falseto publish, then deploy the marketing site.
Related
- Changelog — product release entries.
- SEO and Metadata — canonical URLs and Open Graph.
Internationalization (i18n)
Leave Localhost ships with full internationalization support powered by next-international. The product app includes three locales out of the box — English, French, and Spanish — and adding more is straightforward.
Changelog
Publish a product changelog entry on the marketing site with a validated MDX file, one entry per buyer-visible release.