Введение
Onedocs — это набор макетов, компонентов и вспомогательных функций для сайтов документации на Next.js и Fumadocs. Вы пишете Markdown, описываете сайт в одном файле конфигурации, а Onedocs предоставляет оболочку документации, главную страницу и маршруты SEO.
Решение предназначено для отдельных сайтов документации, а не для добавления документации в существующее приложение.
Что добавляет Onedocs
В дополнение к Fumadocs пакет onedocs предоставляет:
- Макеты —
DocsLayoutиDocsPageоборачивают макет документации Fumadocs UI, добавляя боковую панель, поиск, переключатель темы и оглавление.HomePageотображает целевую страницу с первым экраном, командами установки, описанием функций и подвалом. - Один файл конфигурации — в
onedocs.config.tsзадаются заголовок, описание, логотип, favicon, ссылки навигации, подвал и содержимое главной страницы. - Компоненты MDX —
mdxComponentsрегистрирует выноски, вкладки, карточки, шаги, аккордеоны, деревья файлов, увеличение изображений и таблицы типов, поэтому страницы используют их без импорта. - Пресет CSS — один импорт подключает Tailwind CSS v4, тему Fumadocs UI и стили макета Onedocs.
- Вспомогательные функции SEO — функции для
sitemap.xml,robots.txt,llms.txt,llms-full.txt, метаданных страниц и изображений Open Graph.
Что нужно настроить самостоятельно
Onedocs не включает в комплект Next.js или Fumadocs. Это одноранговые зависимости, которые нужно установить рядом с ним:
npm install onedocs fumadocs-core fumadocs-mdx fumadocs-ui lucide-react@0.562 next react react-dom
Также понадобятся Tailwind CSS v4, Node.js 20.9 или новее и около десяти небольших файлов: конфигурация Next.js и Fumadocs MDX, источник контента, корневой макет, макет документации и маршрут страницы документации. В руководстве Начало работы показан каждый из них.
Где задаются параметры
| Что | Где |
|---|---|
| Заголовок сайта, логотип, навигация, подвал | onedocs.config.ts, см. Конфигурация |
| Первый экран и функции главной страницы | homepage в onedocs.config.ts, отображается компонентом HomePage в src/app/page.tsx |
| Макет и страницы документации | src/app/docs/layout.tsx и src/app/docs/[[...slug]]/page.tsx, см. Начало работы |
| Папка контента и порядок боковой панели | source.config.ts и content/docs/meta.json |
| Компоненты MDX | mdxComponents, см. Компоненты |
| Поиск, карта сайта, robots.txt, llms.txt | Файлы маршрутов в src/app/, см. SEO и поиск |
| Метаданные и изображения Open Graph | onedocs/metadata и onedocs/og, см. API Reference |
Философия
- Сначала Markdown — пишите
.mdили.mdxи получайте документацию - Один файл конфигурации — общие настройки сайта хранятся в
onedocs.config.ts - Возможность расширения — нужен больший контроль? Используйте напрямую Fumadocs