ディレクトリ構造と設定
LibxドキュメントはAstroベースのモノレポで、共有UI・i18n・バージョン管理を統合しています。最初に構成とURLの基礎を押さえます。
開発サーバー
pnpm --filter=libx-docs dev
ディレクトリとURL規則
- コンテンツルート:
apps/libx-docs/src/content/docs/
- バージョン → 言語 → セクション → ファイル
.../src/content/docs/
└── v1/
├── ja/
│ ├── 01-guide/
│ │ └── 02-setup-and-structure.mdx
│ └── 02-reference/
└── en/
libx-coreディレクトリ構造
libx-coreプロジェクトの構成:
../libx-core/
├── apps/ # Astroアプリケーション
│ ├── project-template/ # 新プロジェクト用テンプレート
│ └── top-page/ # ランディングページ
├── packages/ # 共有パッケージ
│ ├── i18n/ # 国際化ユーティリティ
│ ├── theme/ # 共通テーマシステム
│ ├── ui/ # 共有Astroコンポーネント
│ └── versioning/ # バージョン管理システム
├── scripts/ # ビルド・管理スクリプト
│ ├── plugins/ # ビルドプラグイン
│ ├── schemas/ # 設定スキーマ
│ └── dev/ # 開発用ツール
└── config/ # 共有設定
├── eslint/ # ESLint設定
└── tsconfig/ # TypeScript設定
URLは /<version>/<lang>/<section>/<nn-file>
。番号付きファイル名(nn-
)は順序とURLの両方に使われます。
baseUrl(ベースパス)
apps/libx-docs/src/config/project.config.json
の basic.baseUrl
で管理します。GitHub Pages等のサブパス配信時に必須です。
{
"basic": {
"baseUrl": "/docs/libx-docs",
"supportedLangs": ["en", "ja"],
"defaultLang": "en"
}
}
レイアウトと自動化の位置づけ
- レイアウト:
layouts/MainLayout.astro
,layouts/DocLayout.astro
- サイドバー自動生成:
utils/sidebar-generator.ts
(ファイル/ディレクトリの番号順) - ページネーション:
utils/content-utils.ts
(自動+frontmatterで上書き)
次は「ドキュメントの作成と編集」へ。