ディレクトリ構造と設定

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.jsonbasic.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で上書き)

次は「ドキュメントの作成と編集」へ。