Astro Starlightの astro.config.mjs の sidebar オプションでサイドバーの並び順をカスタマイズする場合、
autogenerate 機能とフロントマターの order を組み合わせる方法 と items プロパティを用いた手動指定の方法 には、それぞれメリット・デメリットがあります。![]()
結論
「まず、どちらを選ぶべきか?」はプロジェクトの規模や求める柔軟性に応じて使い分けるのが、推奨されるベストプラクティスです。
- ドキュメント数が少なめ or 厳密なコントロールがしたい場合
-
itemsで手動で設定する方法がベストです。 - ドキュメント数が多く、自動生成で十分な場合
-
autogenerate機能とフロントマターのorderを組み合わせる方法が便利です。
それぞれのメリット・デメリット
1. autogenerate + フロントマターの order
この方法は、ファイル名やフロントマターの order に基づいてサイドバーを自動生成します。
astro.config.mjs
sidebar: [
{
label: "Docs",
autogenerate: { /* ... */ }
}
]
各ドキュメントファイルのフロントマターに order: 1 などを記載し、並び順を指定します。
メリット
- ファイル単位で順序管理でき、ドキュメント数が多い場合に便利
- サイドバー項目の追加・削除時に
astro.config.mjsを毎回編集しなくて済む - ファイル自体の構造や階層を反映しやすい
デメリット
- 並び順を一括して俯瞰しづらい(全体像を sidebar 設定で把握できない)
- 複雑なグルーピングや、外部リンク・カスタム項目の挿入には不向き
2. items で手動並び替え
この方法は、設定ファイル(astro.config.mjs)でサイドバーの項目を完全に手動で定義します。
astro.config.mjs
sidebar: [
{
label: "Docs",
items: [
{ label: "はじめに", link: "/start" },
{ label: "使い方", link: "/usage" },
// 他にも任意の順で並べる
]
}
]
メリット
- 並び順・グループ化・外部リンク・カスタム項目などを完全にコントロール可
- サイドバーの全体像が
astro.config.mjsで一目でわかる - 特定ページだけ非表示にしたり、柔軟な制御が可能
デメリット
- ドキュメントを追加・削除するたびに
astro.config.mjsを編集する必要がある - ドキュメント数が多いと、メンテナンスがやや煩雑になりやすい
まとめ
どちらを使うか迷ったときは、以下のシンプルな基準で選びましょう。
- 厳密な順序・外部リンクなど、柔軟にカスタマイズしたい場合 →
items - 大量のドキュメントを、最小限の手間で自動生成・管理したい場合 →
autogenerate+order