CategoryNav
カテゴリインデックスページに子ページのカードグリッドを表示する、サーバーレンダリングのPreactコンポーネント。
概要
CategoryNavは、カテゴリの子ページをカードグリッドとして自動的に一覧表示する、サーバーレンダリングのPreactコンポーネントです。カテゴリのindex.mdxファイルで使用し、すべての子ページへのリンクを含むランディングページを作成するために設計されています。
Info
CategoryNavはすべてのMDXドキュメントページでグローバルに利用できます — インポートは不要です。アドモニションコンポーネント(Note、Tipなど)と同様に、ドキュメントページルートで登録されています。
ライブデモ
以下はCategoryNavで「はじめに」カテゴリを表示した例です:
使い方
カテゴリのindex.mdxでCategoryNavを使用してランディングページを作成します:
---
title: Getting Started
sidebar_position: 0
---
Welcome to the Getting Started section. Choose a topic below to begin.
<CategoryNav category="getting-started" />CategoryNavは完全にサーバー側でレンダリングされ、クライアントサイドJavaScriptはゼロです — ハイドレートディレクティブは不要です。
プロップ
| プロップ | 型 | デフォルト | 説明 |
|---|---|---|---|
category | string | — | 直下の子ページを一覧表示するカテゴリスラッグ(例:"guides"、"reference") |
categories | string[] | — | カードとして表示するカテゴリスラッグの明示的なリスト。対象が共通の親の子ではなく、ナビゲーションツリー上の兄弟関係にある場合に使用 |
lang | Locale | 自動検出 | コンテンツコレクションのロケールを上書き |
categoryまたはcategoriesのいずれかを指定します。両方を指定した場合はcategoriesが優先され、categoryは無視されます。どちらも指定しない場合は、コンポーネントは何も表示しません。
langプロップは現在のURLパスから自動的に検出されるため、通常は設定する必要はありません。
categoriesプロップ
デフォルトでは、CategoryNavは単一の親を推測し、その直下の子を一覧表示します。対象が1つの共通の親の子ではなく、ナビゲーションツリー上の最上位の兄弟である場合は、代わりにcategoriesを渡します。たとえばclaude-mdとclaude-skillsはclaudeの子ではなく、claudeと同じ最上位の階層に並ぶ兄弟です:
<CategoryNav categories={["claude-md", "claude-skills", "claude-agents"]} />各スラッグは対応するナビゲーションノードに解決され、カードとして表示されます。ツリー内で見つからないスラッグは、エラーにならず単に無視されます。no-pageカテゴリ(index.mdx の category_no_page: true、またはレガシーの _category_.json の noPage: true)はそれ自体のルートを持たないため、カードのリンク先はそのカテゴリ配下で最初にルートを持つ子ページになります。到達可能なページがない no-page カテゴリは、リンク切れを出力する代わりにスキップされます。
特徴
2カラムグリッド — デスクトップでは
sm:grid-cols-2、モバイルではシングルカラムで表示カード表示 — 各カードにはページタイトル(リンク付き)とdescription(frontmatterから取得)を表示
ホバーエフェクト — ホバー時にカードのボーダーがハイライトされ、タイトルリンクは常に下線付き
インデックス自動除外 — カテゴリ自身のインデックスページは自動的にフィルタリング
ポジション順ソート — カードはfrontmatterの
sidebar_position順に並びます
使用場所
任意のカテゴリのindex.mdxにCategoryNavを追加してランディングページを生成できます。例えば、「はじめに」セクションでは以下のように使用されています:
src/content/docs/
getting-started/
index.mdx ← <CategoryNav category="getting-started" /> を使用
introduction.mdx
installation.mdx
writing-docs.mdx ソース
コンポーネントのレンダリングロジックはパッケージの@takazudo/から提供され、パッケージ所有ルート(packageOwnedRoutes、デフォルトで有効)を通じてすべてのMDXドキュメントページに自動的に組み込まれます — プロジェクト側で保守すべきファイルはありません。