Content Collections
Use Content Collections for Fumadocs
Content Collections is a library that transforms your content into type-safe data collections.
Setup
Install the required packages.
After the installation, add a path alias for the generated collections to the tsconfig.json
.
In the Next.js configuration file, apply the plugin.
To integrate with Fumadocs, add the following to your content-collections.ts
.
And pass it to Source API.
Done! You can access the pages and generated page tree from Source API.
MDX Options
You can customise MDX options in the transformMDX
function.
Import Components
To use components from other packages like Fumadocs UI, pass them to your <MDXContent />
component.
You can also import them in MDX Files, but it is not recommended.
Deep Dive: Why?
Content Collections uses mdx-bundler
to bundle MDX files.
To support importing a package from node modules, Fumadocs added a default value to the cwd
option of MDX Bundler.
It works good, but we still do not recommend to import components in MDX files.
Reasons:
- It requires esbuild to bundle these components, while it should be done by the Next.js bundler (for features of Server Components)
- You can refactor the import path of components without changing your MDX files.
- With Remote Sources, it doesn't make sense to add an import in MDX files.
Last updated on