Cloudflare Pages 仕様データサイト運用メモ
LogicRoll の攻略サイト向けデータや開発仕様を、Unity マスターや Markdown から静的 HTML に変換して Cloudflare Pages で公開する。
目的
- Unity マスターや
docs/specs/*.mdに整理したデータを、ブラウザで見やすい HTML として共有する。 - キャラクター、スキル、アビリティ、敵ステータスなどを攻略サイト風に検索・比較できる状態へ育てる。
- Discord には
index.htmlまたは個別ページの URL を貼る。 - 仕様が更新されたら、GitHub の
mainブランチへの push をきっかけに Cloudflare Pages を更新する。
現在公開対象
| ページ | 元Markdown | 出力HTML |
|---|---|---|
| キャラクター図鑑 | Assets/AddressableResources/MasterData/Battle/BattlerDataMaster.asset | characters/index.html |
| パッシブアビリティ攻略データ | Assets/AddressableResources/MasterData/Roguelite/PassiveAbilityMasterData.asset | passive-abilities/index.html |
| パッシブアビリティ案カタログ X版 | docs/specs/passive-ability-idea-catalog.md | passive-ability-idea-catalog.html |
| パッシブアビリティ案カタログ 仮数値版 | docs/specs/passive-ability-idea-catalog-values-draft.md | passive-ability-idea-catalog-values-draft.html |
| 目次 | tools/build-pages-docs.py が生成 | index.html |
Cloudflare Pages 設定
Cloudflare Pages のプロジェクトを GitHub リポジトリ kisato7188/LogicRoll に接続し、以下の設定にする。
| 項目 | 値 |
|---|---|
| Production branch | main |
| Build command | python tools/build-pages-docs.py |
| Build output directory | build/pages |
| Root directory | 空欄、またはリポジトリルート |
この設定なら、対象 Markdown や生成スクリプトを更新して push するだけで Pages 側が再ビルドされる。
ローカル確認
node tools/sync-battler-master.mjs
python tools/build-pages-docs.py
キャラクター図鑑は BattlerDataMaster.asset を参照するため、先にサーバーの BattlerData とローカルマスターを双方向同期する。通常は tools/deploy-docs-to-pages.ps1 がHTML生成前に自動で同期する。生成物は build/pages/ に出る。ローカル確認は次のファイルをブラウザで開く。
build/pages/index.html
直接デプロイ
Cloudflare Pagesへ手元から直接デプロイする場合は、R2向けWebGLデプロイと同じようにPowerShellスクリプトから実行する。
.\tools\deploy-docs-to-pages.ps1 -DryRun
.\tools\deploy-docs-to-pages.ps1
-DryRun はHTML生成と出力確認だけを行い、Cloudflareにはアップロードしない。実デプロイには CLOUDFLARE_API_TOKEN が必要。CLOUDFLARE_ACCOUNT_ID はR2デプロイログから推定し、Pagesプロジェクト名は未指定なら logicroll-docs を使う。詳しい手順は tools/deploy-docs-to-pages.md にまとめる。
更新手順
1. Unity マスターまたは docs/specs/*.md を更新する。
2. 必要なら tools/build-pages-docs.py に新しい攻略データページを追加する。
3. python tools/build-pages-docs.py でローカルHTMLを確認する。
4. 変更を commit / push する。
5. Cloudflare Pages のデプロイ完了後、/ または /index.html から各ページへアクセスする。
生成方針
- 実装に近いデータは、できるだけ Unity マスターをHTML化する。
- アイデア段階や説明中心の内容は、MarkdownをHTML化する。
- 攻略データは一覧、検索、カテゴリ絞り込み、個別詳細ページを優先する。
- 生成された
build/pages/data/*.jsonは、公開HTMLで使える確認用データとして出力する。リポジトリ上の一次データではない。
キャッシュ
tools/build-pages-docs.py は build/pages/_headers を生成し、HTML に Cache-Control: no-cache を付ける。Cloudflare Pages 上で仕様更新が見えにくくなるのを避けるため。