diff options
Diffstat (limited to 'site/assets/js/search.js')
-rw-r--r-- | site/assets/js/search.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/site/assets/js/search.js b/site/assets/js/search.js new file mode 100644 index 0000000..9bad274 --- /dev/null +++ b/site/assets/js/search.js @@ -0,0 +1,47 @@ +// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT +// IT'S ALL JUST JUNK FOR OUR DOCS! +// ++++++++++++++++++++++++++++++++++++++++++ + +(() => { + 'use strict' + + const searchElement = document.getElementById('docsearch') + + if (!window.docsearch || !searchElement) { + return + } + + const siteDocsVersion = searchElement.getAttribute('data-bd-docs-version') + + window.docsearch({ + apiKey: '3151f502c7b9e9dafd5e6372b691a24e', + indexName: 'bootstrap', + appId: 'AK7KMZKZHQ', + container: searchElement, + searchParameters: { + facetFilters: [`version:${siteDocsVersion}`] + }, + transformItems(items) { + return items.map(item => { + const liveUrl = 'https://getbootstrap.com/' + + item.url = window.location.origin.startsWith(liveUrl) ? + // On production, return the result as is + item.url : + // On development or Netlify, replace `item.url` with a trailing slash, + // so that the result link is relative to the server root + item.url.replace(liveUrl, '/') + + // Prevent jumping to first header + if (item.anchor === 'content') { + item.url = item.url.replace(/#content$/, '') + item.anchor = null + } + + return item + }) + }, + // Set debug to `true` if you want to inspect the dropdown + debug: false + }) +})() |