Waku
Setup Fumadocs on Waku.
Getting Started
Before continuing, make sure to configure:
- Tailwind CSS 4.
Installation
npm i fumadocs-core fumadocs-ui fumadocs-mdx @types/mdx
Then, configure Fumadocs MDX on your Waku app.
Make sure essential files like lib/source.ts
are created correctly.
Styles
Add the following to your Tailwind CSS file:
@import 'tailwindcss';
@import 'fumadocs-ui/css/neutral.css';
@import 'fumadocs-ui/css/preset.css';
Create Pages
Create a file for sharing layout props:
import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared';
export function baseOptions(): BaseLayoutProps {
return {
nav: {
title: 'Waku',
},
};
}
Create the following routes:
import type { ReactNode } from 'react';
import { DocsLayout } from 'fumadocs-ui/layouts/docs';
import { source } from '@/lib/source';
import { baseOptions } from '@/lib/layout.shared';
export default function Layout({ children }: { children: ReactNode }) {
return (
<DocsLayout {...baseOptions()} tree={source.pageTree}>
{children}
</DocsLayout>
);
}
export const getConfig = async () => {
return {
render: 'static',
};
};
Finally, wrap your entire app under Fumadocs providers:
'use client';
import type { ReactNode } from 'react';
import { WakuProvider } from 'fumadocs-core/framework/waku';
import { RootProvider } from 'fumadocs-ui/provider/base';
export function Provider({ children }: { children: ReactNode }) {
return (
<WakuProvider>
<RootProvider>{children}</RootProvider>
</WakuProvider>
);
}
Done
You can start writing documents at content/docs
:
---
title: Hello World
---
I love Fumadocs
How is this guide?
Last updated on