Cloudflare Pages(推奨)#

本番例は sorane 公式サイト です。リポジトリ内の website/ を sorane 自身でビルドし、CI から website/dist をデプロイしています(dogfooding)。

# .github/workflows/pages.yml(概要)
- checkout sorane
- npm ci
- sorane index --cwd website --force
- sorane build --cwd website --clean
- wrangler pages deploy website/dist --project-name sorane

初回のみ Cloudflare で Pages プロジェクト sorane を作成してください(wrangler pages project create sorane)。

注意点#

  • シークレット: CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID(リポジトリ Secrets)
  • テーマ CSS: website/ のようにサブディレクトリを cwd にする場合、親の templates/default/ を自動参照します
  • D2 図表: sorane.dev は build.diagrams.d2.enabled: true のため CI で d2 CLI(v0.7.1)をインストールします。自サイトで D2 を使う場合も pages.yml に同様のステップを追加してください

大規模サイト(コンテンツ分離)#

記事やフォント資産が多いサイトは、コンテンツ用リポジトリを別にし、CI で sorane を checkout してビルドする構成も取れます。

# 概要
- checkout コンテンツ repo
- checkout sorane → npm ci
- sorane index --cwd . --force   # FTS 検索(標準)
- sorane build --cwd . --clean
- wrangler pages deploy dist --project-name <name>

検索・大容量資産#

  • 標準(FTS): モデル不要。search-index.json のみ dist に含まれる
  • experimental(hybrid): search.mode: hybrid + bundle_model: false で ONNX を R2 等から配信(Pages 25MiB 制限)

ドメイン構成#

ホスト用途
sorane.devプロダクトサイト(この website/ の本番)
ssg.sorane.dev同上のミラー(SSG ドキュメント用サブドメイン)
sorane.pages.devPages 既定 URL(フォールバック)

sorane.dev は Cloudflare Domains で取得済みです。Pages プロジェクト soranesorane.devssg.sorane.dev の両方をカスタムドメインとして追加し、sorane.yamlbase_urlhttps://sorane.dev に揃えています。

初回は Workers & Pages → sorane → Custom domains で各ホストの DNS / SSL が Active になるまで数分かかることがあります。