コンテンツへスキップ

はじめに

Onedocsは、Next.jsとFumadocsで構築するドキュメントサイト向けのレイアウト、コンポーネント、ヘルパーのセットです。Markdownを記述し、1つの設定ファイルでサイトを定義すると、Onedocsがドキュメント用の枠組み、ホームページ、SEOルートを用意します。

既存のアプリケーションにドキュメントを追加する用途ではなく、独立したドキュメントサイト向けです。

Onedocsが追加するもの

Fumadocsに加えて、onedocsパッケージで次の機能を利用できます。

  • レイアウト - DocsLayoutとDocsPageは、サイドバー、検索、テーマ切り替え、目次を備えたFumadocsのUIドキュメントレイアウトを提供します。HomePageはヒーロー、インストールコマンド、機能、フッターを備えたランディングページを描画します。
  • 1つの設定ファイル - onedocs.config.tsにタイトル、説明、ロゴ、ファビコン、ナビゲーションリンク、フッター、ホームページのコンテンツをまとめます。
  • MDXコンポーネント - mdxComponentsがコールアウト、タブ、カード、手順、アコーディオン、ファイルツリー、画像ズーム、型テーブルを登録するため、インポートせずにページで使えます。
  • CSSプリセット - 1つのインポートでTailwind CSS v4、FumadocsのUIテーマ、Onedocsのレイアウトスタイルを読み込みます。
  • SEOヘルパー - sitemap.xml、robots.txt、llms.txt、llms-full.txt、ページメタデータ、Open Graph画像を扱う関数です。

自分で設定するもの

OnedocsにはNext.jsもFumadocsも同梱されていません。これらはピア依存関係のため、Onedocsと一緒にインストールする必要があります。

シェル
npm install onedocs fumadocs-core fumadocs-mdx fumadocs-ui lucide-react@0.562 next react react-dom

さらにTailwind CSS v4、Node.js 20.9以降、そして10個ほどの小さなファイルが必要です。具体的にはNext.jsとFumadocsのMDX設定、コンテンツソース、ルートレイアウト、ドキュメントレイアウト、ドキュメントページのルートです。はじめにでそれぞれを説明します。

各設定の場所

項目 場所
サイトのタイトル、ロゴ、ナビゲーション、フッター onedocs.config.ts。設定を参照
ホームページのヒーローと機能 onedocs.config.ts内のhomepage。src/app/page.tsx内のHomePageが描画
ドキュメントのレイアウトとページ 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リファレンスを参照

基本方針

  • Markdown優先 - .mdまたは.mdxを記述すれば、ドキュメントができます
  • 1つの設定ファイル - サイト全体の設定はonedocs.config.tsにまとめます
  • 柔軟な拡張 - さらに制御したい場合はFumadocsを直接使えます

まずはこちら