source.config.ts 909 B

123456789101112131415161718192021222324252627282930313233
  1. import { rehypeCode } from "fumadocs-core/mdx-plugins";
  2. import { defineConfig, defineDocs } from "fumadocs-mdx/config";
  3. import rehypeKatex from "rehype-katex";
  4. import remarkMath from "remark-math";
  5. import { z } from "zod";
  6. export const docs = defineDocs({
  7. docs: {
  8. schema: z.object({
  9. title: z.string(),
  10. description: z.string(),
  11. icon: z.string().optional(),
  12. full: z.boolean().default(false),
  13. index: z.boolean().default(false),
  14. }),
  15. },
  16. meta: {
  17. schema: z.object({
  18. title: z.string().optional(),
  19. pages: z.array(z.string()).optional(),
  20. description: z.string().optional(),
  21. root: z.boolean().optional(),
  22. defaultOpen: z.boolean().optional(),
  23. icon: z.string().optional(),
  24. }),
  25. },
  26. });
  27. export default defineConfig({
  28. mdxOptions: {
  29. remarkPlugins: [remarkMath],
  30. rehypePlugins: (v) => [rehypeKatex, rehypeCode, ...v],
  31. },
  32. });