サイドバー
サイドバーナビゲーションの構造と設定方法。
アイテムの並び順
カテゴリ内のページはsidebar_positionフロントマターフィールドでソートされます。小さい値ほど先に表示されます。
sidebar_positionがないページはデフォルト値999が適用され、カテゴリの末尾にファイル名のアルファベット順で表示されます。
---
title: My Page
sidebar_position: 3
---
💡 Tip
ページの順序を制御するために、sidebar_positionを常に明示的に設定してください。設定しないとページはアルファベット順にソートされ、意図した読み順と一致しない場合があります。
カテゴリの並び順
サイドバー内のカテゴリはインデックスページ(index.mdx)のsidebar_positionで順序付けされます。カテゴリにインデックスページがない場合やsidebar_positionがない場合は、アルファベット順にフォールバックします。
例えば、「Getting Started」を最初に、「Guides」を2番目にするには:
getting-started/index.mdx → sidebar_position: 0
guides/index.mdx → sidebar_position: 1
reference/index.mdx → sidebar_position: 2
カテゴリインデックスページ
ディレクトリ内にindex.mdxを作成すると、カテゴリにランディングページが付与されます。サイドバーのカテゴリ名がこのページへのクリック可能なリンクになります。
一般的なカテゴリインデックスページでは<CategoryNav />コンポーネントを使用して、カテゴリ内のすべてのページを自動的にリスト表示します:
---
title: Guides
sidebar_position: 1
---
Explore our guides to learn about zudo-doc features.
<CategoryNav category="guides" />
<CategoryNav />コンポーネントは、カテゴリ内のすべてのページ(インデックス自体を除く)へのリンクのグリッドをsidebar_positionでソートしてレンダリングします。
index.mdxがない場合、カテゴリの見出しはトグル専用のコントロールになります — クリックするとカテゴリの展開・折りたたみが行われますが、ページへのナビゲーションは行われません。
デフォルトの展開・折りたたみ
現在のページが含まれるカテゴリは自動的に展開されます。それ以外のカテゴリはデフォルトで折りたたまれます。
サイドバーラベル
sidebar_labelフロントマターフィールドを使用して、ページタイトルとは異なるラベルをサイドバーに表示できます。完全なタイトルがサイドバーには長すぎる場合に便利です。
---
title: Getting Started with zudo-doc Installation
sidebar_label: Installation
sidebar_position: 2
---
💡 Tip
sidebar_labelはサイドバーにのみ影響します。ページタイトルと見出しには引き続きtitleが使用されます。
ディレクトリ構造
src/content/docs/内のディレクトリがサイドバーカテゴリになります。ディレクトリ名はkebab-caseからTitle Caseに自動的に変換されます。
src/content/docs/
getting-started/ → "Getting Started"
index.mdx → カテゴリインデックス (sidebar_position: 0)
introduction.mdx → sidebar_position: 1
installation.mdx → sidebar_position: 2
guides/ → "Guides"
index.mdx → カテゴリインデックス (sidebar_position: 1)
writing-docs.mdx → sidebar_position: 1
color-schemes.mdx → sidebar_position: 2
📝 Note
サイドバーは1レベルのネストのみサポートしています。カテゴリディレクトリ内のサブディレクトリはサポートされていません。
ソート順(昇順・降順)
デフォルトでは、カテゴリ内のアイテムは昇順(sidebar_positionが小さい順、次にアルファベット順)でソートされます。_category_.jsonを使用してカテゴリごとに降順に変更できます:
{
"label": "Changelog",
"position": 10,
"sortOrder": "desc"
}
sortOrderが"desc"の場合、アイテムは逆順でソートされます — positionが大きい順、次に逆アルファベット順。これは日付ベースのコンテンツ(変更履歴、リリースノート)で、最新のアイテムを上部に表示したい場合に便利です。
src/config/sidebars.tsでも手動サイドバー設定でsortOrderを設定できます:
{
type: "category",
label: "Releases",
sortOrder: "desc",
items: [
{ type: "autogenerated" },
],
}
💡 Tip
変更履歴スタイルのカテゴリでは、sortOrder: "desc"と日付プレフィックスのファイル名(例:2026-03-10-release.mdx)を組み合わせることで、sidebar_positionを手動設定しなくても自動的に最新順に並べられます。
並び順の推奨事項
- 予測可能な順序のためにすべてのページに
sidebar_positionを設定する - カテゴリインデックスページには
sidebar_position: 0を使用する - 各カテゴリ内のページには連番(1, 2, 3…)を使用する
- 後でページを挿入する予定がある場合は番号に間隔を空ける(例:10, 20, 30)
- 最新順のカテゴリには
_category_.jsonでsortOrder: "desc"を使用する