import { defineConfig } from 'fumadocs-mdx/config';
import { remarkMdxMermaid } from 'fumadocs-core/mdx-plugins/remark-mdx-mermaid';

/**
 * Configuration MDX globale.
 *
 * `remarkPlugins` prend une fonction plutôt qu'un tableau : la forme tableau
 * **remplace** les plugins du preset Fumadocs, ce qui ferait perdre au passage
 * `remark-image`, `remark-heading`, `remark-structure` et la coloration de code.
 * La fonction reçoit les plugins par défaut et les complète.
 */
export default defineConfig({
  mdxOptions: {
    // Sans `preset`, TypeScript choisit la branche 'minimal' du type union, où
    // `remarkPlugins` n'accepte qu'un tableau. Le nommer sélectionne la branche
    // 'fumadocs', qui est aussi la valeur par défaut à l'exécution.
    preset: 'fumadocs',
    remarkPlugins: (plugins) => [...plugins, remarkMdxMermaid],
  },
});
