LogoLaunchSaaS

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

FieldRequiredDescription
titleYesPost title
descriptionYesShort description (SEO)
dateYesPublication date (YYYY-MM-DD)
authorYesAuthor info object (name, optional avatar and url)
categoryYesCategory object (id and title)
tagsNoArray of tag objects (id and title)
coverNoFeatured image path

Documentation

Documentation pages are stored in content/docs/ with the same MDX format.

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
    └── ...
FieldRequiredDescription
titleYesEntry title
dateYesRelease date (YYYY-MM-DD)
versionNoVersion number (e.g. 1.2.0)
tagsNoArray 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
FieldRequiredDescription
titleYesPage title
descriptionYesShort description (SEO)
eyebrowNoSmall label shown above the title (e.g. "Legal")

References

Next Steps