ドキュメントページ
ドキュメント内の 1 ページ
Page はドキュメントの基本となる要素で、目次、 フッター、パンくずリストが含まれます。
Install via Fumadocs CLI
For advanced customization that supported options cannot suffice.
npx @fumadocs/cli@latest customize使い方
使用しているレイアウトに合わせてインポートしてください。
import { DocsPage, DocsDescription, DocsTitle, DocsBody } from 'fumadocs-ui/layouts/docs/page';
<DocsPage>
<DocsTitle>title</DocsTitle>
<DocsDescription>description</DocsDescription>
<DocsBody>
<h2>This heading looks good!</h2>
It applies the Typography styles, wrap your content here.
</DocsBody>
</DocsPage>;補足
page.tsx で DocsTitle を使ってタイトルをレンダリングする代わりに、MDX ファイル内にタイトルを記述することもできます。
この場合、タイトルは MDX の本文内でレンダリングされます。
ページアクション
GitHub へのリンクと、AI 向けのショートカットリンクを表示します。
import { DocsPage, ViewOptionsPopover } from 'fumadocs-ui/layouts/<layout>/page';
const githubUrl = `https://github.com/fuma-nama/fumadocs/blob/main/content/docs/${encodeURI(page.path)}`
<DocsPage>
<ViewOptionsPopover githubUrl={githubUrl} />
</DocsPage>;最終更新日時
ページの最終更新日時を表示します。
import { DocsPage, PageLastUpdate } from 'fumadocs-ui/layouts/<layout>/page';
const lastModifiedTime: Date | undefined;
<DocsPage>
{/* その他のコンテンツ */}
{lastModifiedTime && <PageLastUpdate date={lastModifiedTime} />}
</DocsPage>;lastModifiedTime の取得には、GitHub などのバージョン管理システムや CMS を利用できます。
lastModified を有効にすると利用できます。
import { source } from '@/lib/source';
const page = source.getPage(['...']);
const lastModifiedTime = page.data.lastModified;設定
フルモード
ページを広げて利用可能なスペース全体を使うには、ページコンポーネントに full を渡します。
この場合、目次は常にポップオーバーとして表示されます。
import { DocsPage } from 'fumadocs-ui/layouts/<layout>/page';
<DocsPage full>...</DocsPage>;目次
記事内のすべての見出しを一覧で表示します。見出しの配列を渡す必要があります。
Markdown および MDX ドキュメントの場合は、 目次ユーティリティを使って取得できます。Fumadocs MDX などのコンテンツソースでは、この機能が標準で用意されています。
import { DocsPage } from 'fumadocs-ui/layouts/<layout>/page';
<DocsPage toc={headings}>...</DocsPage>;tableOfContent でカスタマイズできます。小さい画面のデバイスでは tableOfContentPopover でカスタマイズできます。
import { DocsPage } from 'fumadocs-ui/layouts/<layout>/page';
return (
<DocsPage tableOfContent={options} tableOfContentPopover={options}>
...
</DocsPage>
);プロパティ
型
スタイル
目次のスタイルは変更できます。
Introduction
Installation
Configuration
Plugins
Usage
Components
Styling
FAQ
On this page
import { DocsPage } from 'fumadocs-ui/layouts/<layout>/page';
<DocsPage
tableOfContent={{
style: 'clerk',
}}
>
...
</DocsPage>;目次の置き換え
コンポーネントを置き換えるには、次のようにします。
import { TOCProvider, TOC, TOCPopover } from './my-toc';
return (
<DocsPage
slots={{
toc: {
provider: TOCProvider,
main: TOC,
popover: TOCPopover,
},
}}
>
...
</DocsPage>
);Fumadocs CLI を使うと、デフォルトの実装をベースに作成を始められます。
npx @fumadocs/cli add slots/docs/page/tocフッター
フッターは、前後のページへ移動する2つのボタンを備えたナビゲーション要素です。指定しない場合は、ページツリーから取得した隣接ページが表示されます。
footer prop でフッターをカスタマイズできます。
import { DocsPage } from 'fumadocs-ui/layouts/<layout>/page';
<DocsPage footer={options}>...</DocsPage>;プロパティ
型
フッターを置き換える
コンポーネントを置き換えるには、次のようにします。
import { DocsPage } from 'fumadocs-ui/layouts/<layout>/page';
import { Footer } from './my-footer';
<DocsPage
slots={{
footer: Footer,
}}
/>;Fumadocs CLI を使うと、デフォルトの実装をベースにカスタマイズを始められます。
npx @fumadocs/cli add slots/docs/page/footerパンくずリスト
ユーザーがフォルダー内のページを閲覧している場合にのみ表示されるナビゲーション要素です。
breadcrumb オプションでパンくずリストをカスタマイズできます。
import { DocsPage } from 'fumadocs-ui/layouts/<layout>/page';
<DocsPage breadcrumb={options}>...</DocsPage>;プロパティ
型
パンくずリストを置き換える
コンポーネントを置き換えるには、次のようにします。
import { DocsPage } from 'fumadocs-ui/layouts/<layout>/page';
import { Breadcrumb } from './my-breadcrumb';
<DocsPage
slots={{
breadcrumb: Breadcrumb,
}}
/>;Fumadocs CLI を使うと、デフォルトの実装をベースにして始められます。
npx @fumadocs/cli add slots/docs/page/breadcrumbContainer
Container は、パンくずリスト、本文、フッターを囲む記事のラッパーを制御します。
ページのコンテナを置き換えるには、次のようにします。
import { DocsPage } from 'fumadocs-ui/layouts/<layout>/page';
import { Container } from './my-container';
<DocsPage
slots={{
container: Container,
}}
/>;Fumadocs CLI を使って、デフォルトの実装をベースに始めることができます。
npx @fumadocs/cli add slots/docs/page/containerHow is this guide?
最終更新日
