Fumadocs とは
自由に分解して使えるドキュメントフレームワーク、Fumadocs をご紹介します。
Fumadocs フレームワークとは、UI + Core + コンテンツソースの組み合わせを指します。Fumadocs は具体的な実装というより設計思想としてのフレームワークであり、各レイヤーはそれぞれ単独のライブラリとしても利用できます。
設計思想
Fumadocs は、より自由にカスタマイズできるドキュメント構築体験を提供するために生まれました。特定の流儀を押し付けないドキュメントフレームワーク、つまり壊せる「フレームワーク」を目指しています。
抽象化を最小限に
多くのフレームワークは設定ファイルで構成しますが、細部を調整しようとすると柔軟性に欠けることがよくあります。 ページのレンダリング方法も内部ロジックも、自分で制御することはできません。
Fumadocs は設定ファイルに頼るのではなく、ユーザー自身がコードを書き、ソフトウェアの他の部分と連携させることを前提としています。アプリの動作の仕組みが見えるうえ、完全にカスタマイズできます。
シームレスな統合
Fumadocs は お使いの React フレームワークと緊密に統合され、便利なユーティリティと洗練された UI を提供します。
静的サイト生成 (Static Site Generation) など、フレームワークの機能は引き続きそのまま利用できます。フレームワークの使い勝手は、これまでと何も変わりません。
コンポーザブルなUI
Fumadocs UI(デフォルトのテーマ)が提供するのはユーザーインターフェースだけです。このUIは、モバイルでのレスポンシブ対応とユーザー体験を高めるため、意図的に設計方針を絞り込んでいます。
その一方で、Shadcn UI に着想を得た、はるかに柔軟なアプローチも採用しています。Fumadocs CLI を使えば、Fumadocs UI の一部を「フォーク」して、自由にカスタマイズできます。
サーバーファーストのアプローチ
従来、静的サイトジェネレーターは文字どおり静的なものでした。
しかし Fumadocs は、React Server Component を基盤としたサーバーファーストのアプローチを採用しています。 サーバーとクライアントの境界が適切に切り分けられているため、コンテンツを動的かつインタラクティブにできます。
サーバーからデータを取得してコンテンツを表示したり、CMS と連携してリアルタイムに更新を反映したりできます。コンテンツは常に最新の状態に保たれ、メンテナンスも容易です。
ミニマル
Fumadocs は Fuma と多くのコントリビューターによってメンテナンスされており、コードベースの保守性を重視しています。
ユーザーが求めるあらゆる機能を提供することは目指しておらず、それよりも基本的な機能を完璧に仕上げ、しっかりとメンテナンスすることに注力しています。 ぜひコントリビュートして、Fumadocs をより便利なものにする手助けをしてください!
Fumadocs を使うべき場面
Fumadocs は柔軟性を重視して設計されており、特定の用途に限定されません。
fumadocs-coreは、ドキュメントを構築するためのヘッドレス UI ライブラリです。fumadocs-mdxは、MDX コンテンツを扱うための便利なライブラリです。
多くの Web アプリケーションにとって、素の React.js だけではもはや十分とはいえません。 今日では、ブログやショーケースページ、FAQ ページなども欲しくなるものです。こうした場面で Fumadocs を使えば、ボイラープレートを減らし、 ドキュメントをより手軽に構築できます。
興味がある方は、比較をご覧ください。
ドキュメント
Fumadocs は執筆体験を重視しており、美しいテーマと豊富なドキュメント自動化ツールを提供します。
ドキュメントの更新を後回しにすることなく、コードベースをすばやく改善し続けられます。 Fumadocs で構築したドキュメントサイトの一例として、このサイトをご覧ください。
ブログサイト
ブログサイトに必要な機能であれば、ほとんどの React.js フレームワークですでに十分にまかなえます。
Fumadocs は、シンタックスハイライト、ドキュメント検索、デフォルトテーマ (Fumadocs UI) などの追加ツールを提供します。 これにより、車輪の再発明を避けられます。
How is this guide?
最終更新日
