From e6802e5630a8be5d04a9a3a9705798ec62a1477d Mon Sep 17 00:00:00 2001 From: Ian Chamberlain Date: Fri, 27 Mar 2026 23:50:17 -0700 Subject: [PATCH 1/2] Implement a page search URL There are two pieces to this: - Prefill and execute search when a page loads with the `search` param set - Update the URL bar when a search is executed, with 500ms debounce --- .vuepress/client.js | 4 +++ .vuepress/components/URLDocSearch.vue | 46 +++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 .vuepress/components/URLDocSearch.vue diff --git a/.vuepress/client.js b/.vuepress/client.js index 30391c6b5d8..6c9e56bf648 100755 --- a/.vuepress/client.js +++ b/.vuepress/client.js @@ -10,6 +10,7 @@ import BlogPosts from './components/BlogPosts.vue'; import JumpToc from './components/JumpToc.vue'; import PrBy from './components/PrBy.vue'; import ReleaseToc from './components/ReleaseToc.vue'; +import URLDocSearch from './components/URLDocSearch.vue'; export default defineClientConfig({ enhance({ app }) { @@ -18,5 +19,8 @@ export default defineClientConfig({ app.component('JumpToc', JumpToc); app.component('PrBy', PrBy); app.component('ReleaseToc', ReleaseToc); + + // Override the builtin searchbox + app.component('SearchBox', URLDocSearch); }, }); diff --git a/.vuepress/components/URLDocSearch.vue b/.vuepress/components/URLDocSearch.vue new file mode 100644 index 00000000000..5d6a8a60207 --- /dev/null +++ b/.vuepress/components/URLDocSearch.vue @@ -0,0 +1,46 @@ + + + From 9379bdcb2d8c5e3c3f696be7616317c329320281 Mon Sep 17 00:00:00 2001 From: Ian Chamberlain Date: Sat, 28 Mar 2026 01:21:36 -0700 Subject: [PATCH 2/2] Add opensearch XML for automatic search engine Also fixup some TS lint errors in the new component, language server wasn't working before. --- .vuepress/components/URLDocSearch.vue | 18 +++++++++--------- .vuepress/config.js | 9 +++++++++ .vuepress/public/opensearch.xml | 12 ++++++++++++ 3 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 .vuepress/public/opensearch.xml diff --git a/.vuepress/components/URLDocSearch.vue b/.vuepress/components/URLDocSearch.vue index 5d6a8a60207..20cd3790266 100644 --- a/.vuepress/components/URLDocSearch.vue +++ b/.vuepress/components/URLDocSearch.vue @@ -3,13 +3,13 @@