Leave Localhost logoLeave LocalhostDocs
Content

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...
FieldRequiredNotes
titleyesPost title.
descriptionyesSummary for listings and meta tags.
publishedAtyesYYYY-MM-DD.
authoryesDisplay name.
tagsyesInline array, e.g. [a, b].
updatedAtnoYYYY-MM-DD.
imagenoAbsolute path under public/.
draftnotrue 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

  1. Add apps/marketing/content/blog/<slug>.mdx.
  2. Fill in the frontmatter above; place any images under public/ and reference them by absolute path.
  3. Preview with bun run dev:marketing (drafts are visible locally).
  4. Set draft: false to publish, then deploy the marketing site.

On this page