From cd5522a31cb131f45cca56e6526e13225dae3748 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Jul 2026 17:11:54 +0000 Subject: [PATCH 1/7] Initial plan From 9d7a60f2979b0bdd22008281fad4a06c408c92f5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Jul 2026 17:16:33 +0000 Subject: [PATCH 2/7] docs: add pagefind to site search options --- docs/search.md | 47 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/docs/search.md b/docs/search.md index d97a52db..b8f028be 100644 --- a/docs/search.md +++ b/docs/search.md @@ -10,8 +10,9 @@ sidebar: { label: Search } This page describes some common alternatives for static site search. - [Google search](#programmable-search-engine-by-google) -- [DocSearch by Algolia](#docsearch-by-algolia) +- [Pagefind](#pagefind) - [Lunr](#lunr) +- [DocSearch by Algolia](#docsearch-by-algolia) ## Programmable Search Engine by Google @@ -31,23 +32,26 @@ website. - Search index is completely managed and hosted on Google servers. -## DocSearch by Algolia +## Pagefind -[DocSearch](https://docsearch.algolia.com/) is a search tool powered by the -Algolia search engine that crawls your docs and provides a dropdown search -experience on your website. +[Pagefind](https://pagefind.app/) is an open source search tool for static +sites. It indexes your built site during your build process and serves search +results directly from static assets. ### Pros -- Provides Front-end widgets out of the box: search input, dynamic positioning - of search results, etc. -- Integrations with popular frameworks -- Support for multi-language search. +- No hosted service or third-party search provider required +- Works well with static site generators +- Free and open source +- Support for multi-language search +- Fetches index data on demand, which helps it scale better than fully + in-browser indexes ### Cons -- Not entirely free- Limited to 10k records -- Limited access to features. +- Requires a build step to generate and update the search index +- Search is limited to content available in the built site +- UI customization may require some JavaScript and CSS work ## Lunr @@ -70,10 +74,31 @@ needing external, server-side, search services. Docsy, this should be _very_ easy to setup). - Depending on site setup, may require javascript knowledge +## DocSearch by Algolia + +[DocSearch](https://docsearch.algolia.com/) is a search tool powered by the +Algolia search engine that crawls your docs and provides a dropdown search +experience on your website. + +### Pros + +- Provides front-end widgets out of the box: search input, dynamic positioning + of search results, etc. +- Integrations with popular frameworks +- Support for multi-language search + +### Cons + +- Search index is managed and hosted on Algolia servers +- Free plans are limited, and larger indexes may require a paid plan +- Less control over indexing and search behavior than self-hosted options + ## When Is It Best To Use One Over Another? If you are looking to create a search capability for your open source project without having to depend on a 3rd party service, then you should consider using +[Pagefind](https://pagefind.app/) first. If you need a more custom +implementation that runs entirely in the browser, you can also consider [Lunr](https://lunrjs.com/). You can take a look at [this custom implementation](https://github.com/vitessio/website/pull/1119) or [Hugo/Docsy implementation](https://github.com/etcd-io/website/pull/403) to see From 0d156a35badedf8348e74083d036f6e0aeaefbf5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Jul 2026 17:31:40 +0000 Subject: [PATCH 3/7] docs: fix docsearch review follow-up --- .cspell.yml | 1 + docs/search.md | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.cspell.yml b/.cspell.yml index bf753dbd..5a4db576 100644 --- a/.cspell.yml +++ b/.cspell.yml @@ -37,6 +37,7 @@ words: - nate - nvmrc - Obasi + - Pagefind - subpages - techdocs - toolkits diff --git a/docs/search.md b/docs/search.md index b8f028be..320e98b2 100644 --- a/docs/search.md +++ b/docs/search.md @@ -90,7 +90,8 @@ experience on your website. ### Cons - Search index is managed and hosted on Algolia servers -- Free plans are limited, and larger indexes may require a paid plan +- To use the free DocSearch program, you must apply and be approved +- The free DocSearch program requires displaying the "Search by Algolia" logo - Less control over indexing and search behavior than self-hosted options ## When Is It Best To Use One Over Another? From 25d306817a61849d77397833a7545453f4aef441 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Jul 2026 17:35:48 +0000 Subject: [PATCH 4/7] docs: clarify pagefind indexing step --- docs/search.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/search.md b/docs/search.md index 320e98b2..6e9f5f27 100644 --- a/docs/search.md +++ b/docs/search.md @@ -35,8 +35,8 @@ website. ## Pagefind [Pagefind](https://pagefind.app/) is an open source search tool for static -sites. It indexes your built site during your build process and serves search -results directly from static assets. +sites. It indexes your built site as a post-build step and serves search results +directly from static assets. ### Pros From b500a7be99d8a11746337e1cc30b497bda914437 Mon Sep 17 00:00:00 2001 From: Nate W Date: Wed, 22 Jul 2026 10:37:51 -0700 Subject: [PATCH 5/7] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Nate W --- docs/search.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/search.md b/docs/search.md index 6e9f5f27..6b5e41ea 100644 --- a/docs/search.md +++ b/docs/search.md @@ -97,7 +97,7 @@ experience on your website. ## When Is It Best To Use One Over Another? If you are looking to create a search capability for your open source project -without having to depend on a 3rd party service, then you should consider using +without having to depend on a third-party service, then you should consider using [Pagefind](https://pagefind.app/) first. If you need a more custom implementation that runs entirely in the browser, you can also consider [Lunr](https://lunrjs.com/). You can take a look at From b2ccf7feb59326692c924c892e5c41b1960de29a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Jul 2026 17:42:52 +0000 Subject: [PATCH 6/7] style: fix prettier formatting in search.md --- docs/search.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/search.md b/docs/search.md index 6b5e41ea..13485c14 100644 --- a/docs/search.md +++ b/docs/search.md @@ -97,8 +97,8 @@ experience on your website. ## When Is It Best To Use One Over Another? If you are looking to create a search capability for your open source project -without having to depend on a third-party service, then you should consider using -[Pagefind](https://pagefind.app/) first. If you need a more custom +without having to depend on a third-party service, then you should consider +using [Pagefind](https://pagefind.app/) first. If you need a more custom implementation that runs entirely in the browser, you can also consider [Lunr](https://lunrjs.com/). You can take a look at [this custom implementation](https://github.com/vitessio/website/pull/1119) or From 840e80d0e6ec0f6ba234ed1a17c5be5d2fa26b02 Mon Sep 17 00:00:00 2001 From: Nate W Date: Wed, 22 Jul 2026 10:44:43 -0700 Subject: [PATCH 7/7] Apply suggestion from @nate-double-u Signed-off-by: Nate W --- docs/search.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/search.md b/docs/search.md index 13485c14..9bdd6ce9 100644 --- a/docs/search.md +++ b/docs/search.md @@ -98,7 +98,7 @@ experience on your website. If you are looking to create a search capability for your open source project without having to depend on a third-party service, then you should consider -using [Pagefind](https://pagefind.app/) first. If you need a more custom +using [Pagefind](https://pagefind.app/). If you need a more custom implementation that runs entirely in the browser, you can also consider [Lunr](https://lunrjs.com/). You can take a look at [this custom implementation](https://github.com/vitessio/website/pull/1119) or