Blog & Content
Create and manage blog posts, documentation pages, and changelog entries with MDX
LaunchSaaS includes a complete blog system powered by MDX, allowing you to write posts with Markdown and embed React components.
Blog Structure
Blog content is stored in content/blog/ as MDX files:
content/
└── blog/
├── my-first-post.mdx
├── another-post.mdx
└── ...Creating Blog Posts
Create a new file in content/blog/:
---
title: Your Post Title
description: A brief description for SEO
date: 2025-01-15
author:
name: John Doe
avatar: /avatar.png
url: https://example.com
category:
id: tutorial
title: Tutorial
tags:
- id: nextjs
title: Next.js
cover: /blog/post-image.jpg
---
# Your Post Title
This is the content of your blog post. You can use regular Markdown syntax.
## Headings
**Bold text**, _italic text_, and `inline code`.
- Bullet points
- Another point
1. Numbered lists
2. Second item
> Blockquotes for important information
[Links to other pages](/docs)Front Matter Fields
| Field | Required | Description |
|---|---|---|
title | Yes | Post title |
description | Yes | Short description (SEO) |
date | Yes | Publication date (YYYY-MM-DD) |
author | Yes | Author info object (name, optional avatar and url) |
category | Yes | Category object (id and title) |
tags | No | Array of tag objects (id and title) |
cover | No | Featured image path |
Documentation
Documentation pages are stored in content/docs/ with the same MDX format.
Sidebar Order
Configure the documentation sidebar in content/docs/meta.json:
{
"pages": [
"index",
"getting-started",
"---Section Title---",
"page-name",
"another-page"
]
}Use ---Title--- format to create section dividers.
Changelog
Changelog entries are stored in content/changelog/ with date-based filenames:
content/
└── changelog/
├── 2025-01-15.mdx
├── 2025-01-01.mdx
└── ...| Field | Required | Description |
|---|---|---|
title | Yes | Entry title |
date | Yes | Release date (YYYY-MM-DD) |
version | No | Version number (e.g. 1.2.0) |
tags | No | Array of tag objects (id and title) |
Static Pages
Static pages (terms, privacy, license, etc.) are stored in content/pages/:
content/
└── pages/
├── terms.mdx
├── privacy.mdx
└── license.mdx| Field | Required | Description |
|---|---|---|
title | Yes | Page title |
description | Yes | Short description (SEO) |
eyebrow | No | Small label shown above the title (e.g. "Legal") |