diff --git a/docs/_static/js/scorer.js b/docs/_static/js/scorer.js deleted file mode 100644 index a0f50cb083..0000000000 --- a/docs/_static/js/scorer.js +++ /dev/null @@ -1,82 +0,0 @@ -"use-strict"; - -let queryBeingDone = null; -let pattern = null; - -const escapedRegex = /[-\/\\^$*+?.()|[\]{}]/g; -function escapeRegex(e) { - return e.replace(escapedRegex, "\\$&"); -} - -// for some reason Sphinx shows some entries twice -// if something has been scored already I'd rather sort it to the bottom -const beenScored = new Set(); - -function __score(haystack, regex) { - let match = regex.exec(haystack); - if (match == null) { - return Number.MAX_VALUE; - } - let subLength = match[0].length; - let start = match.index; - return (subLength * 1000 + start) / 1000.0; -} - -// unused for now -function __cleanNamespaces(query) { - return query.replace(/(discord\.(ext\.)?)?(.+)/, "$3"); -} - -Scorer = { - // Implement the following function to further tweak the score for each result - // The function takes a result array [filename, title, anchor, descr, score] - // and returns the new score. - score: (result) => { - // only inflate the score of things that are actual API reference things - const [, title, , , score] = result; - - if (pattern !== null && title.startsWith("discord.")) { - let _score = __score(title, pattern); - if (_score === Number.MAX_VALUE) { - return score; - } - if (beenScored.has(title)) { - return 0; - } - beenScored.add(title); - let newScore = 100 + queryBeingDone.length - _score; - // console.log(`${title}: ${score} -> ${newScore} (${_score})`); - return newScore; - } - return score; - }, - - // query matches the full name of an object - objNameMatch: 15, - // or matches in the last dotted part of the object name - objPartialMatch: 11, - // Additive scores depending on the priority of the object - objPrio: { - 0: 15, // used to be importantResults - 1: 7, // used to be objectResults - 2: -5, // used to be unimportantResults - }, - // Used when the priority is not in the mapping. - objPrioDefault: 0, - - // query found in title - title: 15, - partialTitle: 7, - // query found in terms - term: 5, - partialTerm: 2, -}; - -document.addEventListener("DOMContentLoaded", () => { - const params = new URLSearchParams(window.location.search); - queryBeingDone = params.get("q"); - if (queryBeingDone) { - let pattern = Array.from(queryBeingDone).map(escapeRegex).join(".*?"); - pattern = new RegExp(pattern, "i"); - } -}); diff --git a/docs/conf.py b/docs/conf.py index 372e67c2e6..2e8daf71ee 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -326,7 +326,7 @@ def write_new(): # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] html_css_files = ["css/custom.css"] -html_js_files = ["js/custom.js", "js/scorer.js"] +html_js_files = ["js/custom.js"] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied @@ -386,7 +386,7 @@ def write_new(): # The name of a javascript file (relative to the configuration directory) that # implements a search results scorer. If empty, the default will be used. -html_search_scorer = "_static/js/scorer.js" +# html_search_scorer = "_static/js/scorer.js" # html_js_files = ["custom.js", "settings.js", "copy.js", "sidebar.js"]