Integrate content into your JavaScript app.

Fuma Content is a content processing layer, with native support for MDX.js, JSON and YAML files.

content.config.ts
import { defineMDX } from "fuma-content/collections/mdx"
import { defineMeta } from "fuma-content/collections/meta"
import git from "fuma-content/plugins/git"
import { defineConfig } from "fuma-content/config"
import { z } from "zod"

const docs = defineMDX({
  dir: "content/docs",
  frontmatter: z.object({
    title: z.string(),
    description: z.string().optional(),
  }),
  lazy: true,
})

const authors = defineMeta({
  dir: "content/docs",
  files: ["authors.json"],
  schema: z.object({
    author: z.array(z.string()),
  }),
})

export default defineConfig({
  collections: {
    docs,
    authors,
  },
  plugins: [git()],
})