全文検索

Methanol は、Pagefind を統合した静的全文検索エンジンを提供しています。ビルド時間および開発時のパフォーマンスを最適化するため、検索機能はデフォルトで無効に設定されています。

検索機能は本番ビルド(Build)成果物でのみ利用可能です。開発サーバー(Dev Server)では検索用インデックスの生成および検索 UI の配信は行われません。

導入手順

まず、プロジェクトに Pagefind をインストールしてください。

npm i -D pagefind

グローバル環境にインストールして使用することも可能です。

npm i -g pagefind

有効化と無効化

methanol.config.* 設定ファイルにおいて pagefind オプションを設定します。

// methanol.config.js
export default () => ({
	pagefind: true
})

明示的に無効化する場合:

// methanol.config.js
export default () => ({
	pagefind: false
})

詳細設定オブジェクト

export default () => ({
	pagefind: {
		enabled: true,
		excerptLength: 30,
		build: {
			outputSubdir: 'pagefind',
			verbose: true
		}
	}
})

enabled および build 以外のプロパティは、クライアントサイドで Pagefind UI の初期化オプションとして直接渡されます。

他の検索ソリューションへの置き換え

Pagefind 以外の検索システムを導入する場合の手順:

  1. pagefind: false を設定して標準機能を無効化します。
  2. 独自のインデックス生成フローおよび検索 UI を実装します。

デフォルトテーマは pagefind が有効な場合のみ検索 UI をレンダリングします。機能を無効化することで、テーマの制約を受けずに自由な検索機能を実装可能です。