Color mode

Search notes

Filter with tag:, lang:, or path:.

インテグレーション(Integration)

Coreのコンテンツとページを、HonoXやViteなどの描画・配信のスタックにつなぐパッケージです。コンテンツの解釈を持たずに、ルートを描画し、出力を書き出します。

責務

  • ルートを通じてページとプラグインのページ種別を描画する。
  • 生成した出力を書き出す。
  • サイトを配信先につなぐ。

インテグレーションの責務の詳細

インテグレーションは、Riebeckite Coreとホストのフレームワーク(例:HonoX + Vite)の間の橋渡しをします。主な責務は次のとおりです。

  • ルートの解決:resolveRiebeckiteRoute(@riebeckite/honox)を使って、受信したリクエストのパスをページに対応付けます。解決の順序は、プラグインページの確認 → publicLocationによるコンテンツの解決 → リダイレクトの確認 → 404です。
  • 出力の生成:ページのHTMLを描画し、サイトマップ、robots、フィードなどの生成ファイルをSEOプラグインを通じて書き出します。
  • デプロイとの接続:ビルド済みの出力をCloudflare Workersなどのホスティング先につなぎます。インテグレーションはコンテンツの解釈を持ちません。コンテンツの処理と公開先の解決はCoreが担い、インテグレーションは配信につなぎます。
ts
import { resolveRiebeckiteRoute } from "@riebeckite/honox";
const result = resolveRiebeckiteRoute(content, requestPath);

インテグレーションを差し替えてもコンテンツの解釈が変わらないのは、Coreのコンテンツ処理とマニフェストの解決がインテグレーションの選択から独立しているためです。

境界

Coreがコンテンツの処理と公開先の解決を担います。インテグレーションは描画と配信を担うため、インテグレーションを差し替えてもコンテンツの解釈は変わりません。