Fumadocs

Remark Structure

Extract information from your documents, useful for implementing document search

Usage

Add it as a remark plugin.

import { remarkStructure } from 'fumadocs-core/mdx-plugins';
 
export default {
  remarkPlugins: [remarkStructure],
};

Extracted information could be found in vfile.data.structuredData, you may write your own plugin to convert it into a MDX export.

Options

PropTypeDefault
types
Test
['paragraph', 'blockquote', 'heading', 'tableCell']

Output

A list of headings and contents. Paragraphs will be extracted to the contents array, each item contains a heading prop indicating the heading of paragraph.

Note

A heading can have multiple paragraphs.

Heading

Prop
idunique identifer or slug of heading
contentText content

Content

Prop
headingHeading of paragraph (nullable)
contentText content

As a Function

Accepts MDX/markdown content and return structurized data.

import { structure } from 'fumadocs-core/mdx-plugins';
 
structure(page.body.raw);

Tip

If you have custom remark plugins enabled, such as remark-math, you have to pass these plugins to the function. This avoids unreadable content on paragraphs.

import { structure } from 'fumadocs-core/mdx-plugins';
import remarkMath from 'remark-math';
 
structure(page.body.raw, [remarkMath]);

Parameters

Parameter
contentMDX/markdown content
remarkPluginsList of remark plugins
optionsCustom options

Last updated on

On this page

Edit on GitHub