pagefind

Pagefind — static search library: Rust CLI indexes built HTML, ships chunked WASM index; sub-300 KB payloads for 10k-page sites. Zero config, per-section results, multilingual via lang attribute; Snowball stemming incl. Polish + Czech.

Defuddle capture of the project README, 2026-09-13.

Branches Tags

1,538 Commits

Pagefind

Pagefind is a fully static search library that aims to perform well on large sites, while using as little of your users’ bandwidth as possible, and without hosting any infrastructure.

The full documentation on using Pagefind can be found at https://pagefind.app/.


Summary

Static-site search that indexes at build time and serves a chunked WASM/UI bundle — no server, no index hosting.

Learnings

  • Chosen over FlexSearch/ZBSearch for the garden after a measured pl-vs-en stemming shootout (spec 0006; Pagefind vs ZBSearch). The general answer for non-Quartz sites too — SSG-agnostic post-build HTML indexing, one binary, zero server; Blume ships it behind a flag for large sites.

Gotchas

  • Forced --force-language pl collapses English inflections (searching 120→3 hits) — majority-EN corpus takes en.

Hands-on

Garden — the live search on garden.h + brain since spec 0006; injected into the Quartz sidebar by scripts/integrate-pagefind.sh.