# Pagefind > Pagefind is a fully static search library. It indexes your site after it builds and provides instant client-side search using WebAssembly — no server required. Pagefind works with any static site generator (Hugo, Eleventy, Astro, Next.js, Jekyll, etc.). Run the CLI after your build, and it generates a search index plus UI assets in a `/pagefind/` directory. ## Important: Use the Component UI The **Component UI** (`pagefind-component-ui.js`, web components like ``) is the current way to add search UI to your site. It replaces the old "Default UI" (`pagefind-ui.js`, `new PagefindUI()`). The Default UI is legacy and no longer recommended. Always use the Component UI for new projects. ## Docs All pages below are available as markdown at their listed URLs. ### Component UI (start here for adding search to a site) - [Component UI Guide](https://pagefind.app/llms-component-ui.txt): Complete reference for adding search UI using web components. Installation, component reference, templates, CSS theming, and custom components. - [Component System Overview](https://pagefind.app/docs/components/index.md): How the component system works - [](https://pagefind.app/docs/components/modal/index.md): Full-screen search modal - [](https://pagefind.app/docs/components/modal-trigger/index.md): Button to open the modal - [](https://pagefind.app/docs/components/searchbox/index.md): Search input with dropdown results - [](https://pagefind.app/docs/components/input/index.md): Standalone search input - [](https://pagefind.app/docs/components/results/index.md): Results display with templates - [](https://pagefind.app/docs/components/summary/index.md): Search status and result count - [](https://pagefind.app/docs/components/keyboard-hints/index.md): Keyboard navigation hints - [](https://pagefind.app/docs/components/filter-dropdown/index.md): Filter dropdown - [](https://pagefind.app/docs/components/filter-pane/index.md): Filter sidebar panel - [](https://pagefind.app/docs/components/config/index.md): Declarative configuration - [CSS Variables](https://pagefind.app/docs/css-variables/index.md): Theming with CSS custom properties - [Custom Components](https://pagefind.app/docs/custom-components/index.md): Building your own components ### Getting Started - [Quick Start](https://pagefind.app/docs/index.md): Getting started with Pagefind - [Installation](https://pagefind.app/docs/installation/index.md): Installing via npm, pip, or binary - [Running Pagefind](https://pagefind.app/docs/running-pagefind/index.md): CLI usage - [Hosting](https://pagefind.app/docs/hosting/index.md): Hosting troubleshooting ### Indexing and Configuration - [Indexing](https://pagefind.app/docs/indexing/index.md): Controlling what content is indexed - [Weighting](https://pagefind.app/docs/weighting/index.md): Weighting sections higher or lower - [Ranking](https://pagefind.app/docs/ranking/index.md): Customizing result ranking - [CLI Options](https://pagefind.app/docs/config-options/index.md): All CLI configuration flags - [Config Sources](https://pagefind.app/docs/config-sources/index.md): Configuration file formats ### Search Features - [Search Config](https://pagefind.app/docs/search-config/index.md): Browser-side search options - [Filtering](https://pagefind.app/docs/filtering/index.md): Setting up filters - [Metadata](https://pagefind.app/docs/metadata/index.md): Adding metadata to pages - [Sorting](https://pagefind.app/docs/sorts/index.md): Setting up sort attributes - [Highlighting](https://pagefind.app/docs/highlighting/index.md): Highlighting search terms on page - [Sub-results](https://pagefind.app/docs/sub-results/index.md): Multiple results per page - [Multilingual](https://pagefind.app/docs/multilingual/index.md): Multi-language search - [Multisite](https://pagefind.app/docs/multisite/index.md): Searching across multiple sites ### Search API - [Search API](https://pagefind.app/docs/api/index.md): Using the JavaScript search API directly - [Filtering via API](https://pagefind.app/docs/js-api-filtering/index.md): Filtering with the JS API - [Metadata via API](https://pagefind.app/docs/js-api-metadata/index.md): Getting metadata with the JS API - [Sorting via API](https://pagefind.app/docs/js-api-sorting/index.md): Sorting with the JS API ### Programmatic Indexing - [Node API](https://pagefind.app/docs/node-api/index.md): Indexing from Node.js - [Python API](https://pagefind.app/docs/py-api/index.md): Indexing from Python