From 282b77ee9c9fd382d5ed576ad5bf7a41d97ca2a5 Mon Sep 17 00:00:00 2001 From: XhmikosR <xhmikosr@gmail.com> Date: Fri, 19 Oct 2018 19:43:12 +0300 Subject: [PATCH] docs search: take into account the current URL. --- site/_includes/docs-sidebar.html | 2 +- site/docs/4.1/assets/js/src/search.js | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/site/_includes/docs-sidebar.html b/site/_includes/docs-sidebar.html index 61edd8ec11..cd6b5f8d2f 100644 --- a/site/_includes/docs-sidebar.html +++ b/site/_includes/docs-sidebar.html @@ -1,5 +1,5 @@ <form class="bd-search d-flex align-items-center"> - <input type="search" class="form-control" id="search-input" placeholder="Search..." aria-label="Search for..." autocomplete="off" data-siteurl="{{ site.url }}" data-docs-version="{{ site.docs_version }}"> + <input type="search" class="form-control" id="search-input" placeholder="Search..." aria-label="Search for..." autocomplete="off" data-docs-version="{{ site.docs_version }}"> <button class="btn btn-link bd-search-docs-toggle d-md-none p-0 ml-3" type="button" data-toggle="collapse" data-target="#bd-docs-nav" aria-controls="bd-docs-nav" aria-expanded="false" aria-label="Toggle docs navigation"> {%- include icons/menu.svg width="30" height="30" -%} </button> diff --git a/site/docs/4.1/assets/js/src/search.js b/site/docs/4.1/assets/js/src/search.js index 2e91fcf21e..546cca5c7e 100644 --- a/site/docs/4.1/assets/js/src/search.js +++ b/site/docs/4.1/assets/js/src/search.js @@ -12,6 +12,19 @@ var inputElement = document.getElementById('search-input') var siteDocsVersion = inputElement.getAttribute('data-docs-version') + function getOrigin() { + var location = window.location + var origin = location.origin + + if (!origin) { + var port = location.port ? ':' + location.port : '' + + origin = location.protocol + '//' + location.hostname + port + } + + return origin + } + window.docsearch({ apiKey: '5990ad008512000bba2cf951ccf0332f', indexName: 'bootstrap', @@ -27,11 +40,11 @@ }, transformData: function (hits) { return hits.map(function (hit) { - // When in production, return the result as is, - // otherwise remove our url from it. - var siteurl = inputElement.getAttribute('data-siteurl') + var siteurl = getOrigin() var urlRE = /^https?:\/\/getbootstrap\.com/ + // When in production, return the result as is, + // otherwise remove our url from it. hit.url = siteurl.match(urlRE) ? hit.url : hit.url.replace(urlRE, '') return hit -- GitLab