インテグレーション(Integration)
Coreのコンテンツとページを、HonoXやViteなどの描画・配信のスタックにつなぐパッケージです。コンテンツの解釈を持たずに、ルートを描画し、出力を書き出します。
責務
- ルートを通じてページとプラグインのページ種別を描画する。
- 生成した出力を書き出す。
- サイトを配信先につなぐ。
インテグレーションの責務の詳細
インテグレーションは、Riebeckite Coreとホストのフレームワーク(例:HonoX + Vite)の間の橋渡しをします。主な責務は次のとおりです。
- ルートの解決:
resolveRiebeckiteRoute(@riebeckite/honox)を使って、受信したリクエストのパスをページに対応付けます。解決の順序は、プラグインページの確認 →publicLocationによるコンテンツの解決 → リダイレクトの確認 → 404です。 - 出力の生成:ページのHTMLを描画し、サイトマップ、robots、フィードなどの生成ファイルをSEOプラグインを通じて書き出します。
- デプロイとの接続:ビルド済みの出力をCloudflare Workersなどのホスティング先につなぎます。インテグレーションはコンテンツの解釈を持ちません。コンテンツの処理と公開先の解決はCoreが担い、インテグレーションは配信につなぎます。
import { resolveRiebeckiteRoute } from "@riebeckite/honox";
const result = resolveRiebeckiteRoute(content, requestPath);
インテグレーションを差し替えてもコンテンツの解釈が変わらないのは、Coreのコンテンツ処理とマニフェストの解決がインテグレーションの選択から独立しているためです。
境界
Coreがコンテンツの処理と公開先の解決を担います。インテグレーションは描画と配信を担うため、インテグレーションを差し替えてもコンテンツの解釈は変わりません。