1 分で読めます
Pagefindで静的検索を組み込む
クライアント側だけで完結する全文検索を導入し、ビルド後にインデックスを生成する。
ビルド後にインデックスを作る
Pagefindは dist に対して実行します。ビルドスクリプトは次の形が扱いやすいです。
{
"scripts": {
"build": "astro check && astro build && pagefind --site dist"
}
}
UIのマウントポイントを明確にする
検索UIはサイドバーに限定し、#search 要素にだけマウントします。
これで複数ページ遷移時の副作用を減らせます。
new window.PagefindUI({
element: '#search',
showSubResults: true,
});
NOTE
開発サーバーでは /_pagefind/* が存在しないため、404ログは仕様です。