Codapult
FeaturesPricingAPIHelpChangelog
Codapult

Ship Your SaaS Faster

Product

  • Features
  • Pricing
  • Plugins
  • API Reference
  • Help Center
  • Feature Requests
  • Changelog

Company

  • Contact
  • GitHub

Legal

  • Privacy Policy
  • Terms of Service

© 2026 Codapult. All rights reserved.

All articles

Getting Started

  • Introduction
  • Quick Start
  • Project Structure

Configuration

  • Environment Variables
  • App Configuration

Authentication

  • Authentication

Database

  • Database

Teams

  • Teams & Organizations

Payments

  • Payments & Billing

Api

  • API Layer

Ai

  • AI Features

Email

  • Email

Infrastructure

  • Infrastructure

Ui

  • UI & Theming

I18n

  • Internationalization

Content Management

  • Content Management

Admin

  • Admin Panel

Security

  • Security

Monitoring

  • Analytics & Monitoring

Modules

  • Module Architecture

Plugins

  • Plugin System

Deployment

  • Deployment
  • Troubleshooting

Upgrading

  • Upgrading Codapult

Developer Tools

  • MCP Server
  • Testing
Content Management

Content Management

Manage your blog and help center documentation with MDX, full-text search, and i18n support.

Codapult includes two content systems — a blog and a help center — both powered by MDX files on disk. No CMS or database required; just write Markdown with optional JSX components.

After purchase, replace all content/blog/ and content/docs/ files with your own product's content.


MDX Blog

File Location

Blog posts live in content/blog/ as .mdx files.

Frontmatter

Every post starts with YAML frontmatter:

---
title: Launching Our API v2
description: A faster, more reliable API with breaking change migration guide.
date: 2026-03-15
author: Jane Doe
tags: [api, release]
image: /images/blog/api-v2.png
published: true
---

Your markdown content here...
FieldRequiredDescription
titleYesPost title
descriptionYesShort summary for SEO and listing cards
dateYesPublication date (YYYY-MM-DD)
authorYesAuthor name
tagsNoArray of tags for filtering
imageNoCover image path
publishedNoSet to false to hide from listings

Internationalization

Blog posts support per-locale translations using a filename convention:

FileLocale
my-post.mdxDefault (English)
my-post.ru.mdxRussian
my-post.de.mdxGerman

If a translation is unavailable for the current locale, the default-locale version is shown.

Utilities

The src/lib/blog/ module provides server-side functions:

FunctionDescription
getAllPosts(locale?)List all published posts (newest first)
getPostBySlug(slug, locale?)Get a single post with full MDX content
getAllTags(locale?)Get all unique tags
getPostsByTag(tag, locale?)Filter posts by tag
getPostsByAuthor(author, locale?)Filter posts by author
getAllAuthors(locale?)List all authors with post counts
getAllSlugs()Get all post slugs (for static generation)

Components

ComponentDescription
BlogSearchClient-side search across post titles and descriptions
TagCloudTag list with post counts, links to filtered views
LocaleSwitchLanguage switcher for translated posts
MdxContentRenders MDX content with custom component mappings

RSS Feed

An RSS feed is automatically generated at /rss.xml from published blog posts.


Help Center / Documentation

File Location

Documentation articles live in content/docs/<category>/<slug>.mdx, organized into category folders.

Frontmatter

---
title: Getting Started
description: Install and configure the app in under 5 minutes.
category: getting-started
order: 1
published: true
---

Your documentation content here...
FieldRequiredDescription
titleYesArticle title
descriptionYesShort summary for SEO and navigation
categoryYesFolder name (e.g. getting-started, billing)
orderYesSort position within the category
publishedNoSet to false to hide from navigation

Auto-Generated Navigation

The help center builds its sidebar navigation automatically from the file structure:

  • Categories are derived from folder names
  • Articles are sorted by order within each category
  • Category order is determined by the lowest order value among its articles

No configuration file is needed — add a folder and an MDX file, and it appears in the sidebar.

Full-Text Search

The searchDocs(query) function searches across article titles, descriptions, and content:

import { searchDocs } from '@/lib/docs';

const results = searchDocs('authentication');
// [{ title, description, category, slug, order, published }, ...]

The HelpDocSearch component provides a ready-made search UI with instant results.

Utilities

FunctionDescription
getDocCategories()List all categories with their articles
getDocArticle(category, slug)Get a single article with MDX content
getAllDocSlugs()Get all { category, slug } pairs (for static generation)
searchDocs(query)Full-text search across all articles

Adding Content

New Blog Post

Create a file in content/blog/:

touch content/blog/my-new-post.mdx

Add frontmatter and content. The post appears on the blog page after a dev server reload (or production rebuild).

New Documentation Article

Create a file in content/docs/<category>/:

mkdir -p content/docs/integrations
touch content/docs/integrations/webhooks.mdx

Add frontmatter with the category matching the folder name and an order value. The article appears in the help center sidebar automatically.

New Documentation Category

Simply create a new folder under content/docs/ and add at least one .mdx file. The category name in the sidebar is derived from the folder name (e.g. getting-started → "Getting Started").

InternationalizationAdmin Panel