.md and .mdx files into Marble as draft posts. Marble imports happen asynchronously: you upload a file, Marble queues a job, a worker parses the content in the background, and the created drafts show up in your posts list when the job completes.
Starting an import
- Open Settings → Data in your workspace.
- Find the Import Content section.
- Click Import.
- Upload a single Markdown file or a ZIP archive (see Supported uploads).
Imports are capped at 4 MB per upload. Each ZIP archive may contain up to 100 Markdown files and 20 MB of extracted content. Entries that are not
.md or .mdx are skipped.Supported uploads
For each file Marble pulls the title from frontmatter when available, otherwise from the first heading, otherwise from the filename. Imported posts are always created as drafts so you can review them before publishing.
Job lifecycle
Each import moves through these states:
The most recent imports are listed under Import Content, with a View posts link once a job completes.
Supported Markdown syntax
The following core Markdown features are preserved on import:
Importing unsupported syntax might not display properly.
MDX and components
If your content uses MDX, Marble will keep JSX-style components and custom MDX syntax in the source:- MDX elements like
<MyComponent prop="value" /> - Shortcodes or layout wrappers used in
.mdxfiles
- ❌ Custom components will not render inside the Marble editor preview.
- ❌ Marble does not execute or parse your components for you. You need to parse the imported MDX inside your own codebase (for example, using your framework’s MDX pipeline) for those components to work at runtime.
You can safely import your existing Markdown (
.md) and MDX (.mdx) files into Marble. Each file becomes a draft post you can review before publishing, and any MDX components remain in the source so they continue to work when parsed in your own application.