文件頁面
您文件中的一個頁面
Page 是文件頁面的基本元素,其中包含目錄、 頁尾和 Breadcrumb。
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頁尾
頁尾是一種導覽元素,提供兩個按鈕,可跳至上一頁與下一頁。若未指定,則會顯示從頁面樹中找到的相鄰頁面。
您可以透過 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/footerBreadcrumb
一種導覽元素,僅在使用者瀏覽資料夾內的頁面時顯示。
您可以透過 breadcrumb 選項自訂 Breadcrumb:
import { DocsPage } from 'fumadocs-ui/layouts/<layout>/page';
<DocsPage breadcrumb={options}>...</DocsPage>;屬性
型別
替換 Breadcrumb
若要替換此元件:
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/breadcrumb容器
容器負責控制包覆 Breadcrumb、內文與頁尾的文章外層元素。
若要替換頁面容器:
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?
最後更新於
