From 9d590d2bb01ea734ac93697bdd940f046361de15 Mon Sep 17 00:00:00 2001
From: weru <onewesh@gmail.com>
Date: Thu, 12 Nov 2020 00:25:47 +0000
Subject: [PATCH] update script

---
 assets/js/search.js    |   27 ++++++++++++++++++---------
 assets/js/functions.js |   17 +++++++++++++++++
 2 files changed, 35 insertions(+), 9 deletions(-)

diff --git a/assets/js/functions.js b/assets/js/functions.js
index abeffb6..d1f9180 100644
--- a/assets/js/functions.js
+++ b/assets/js/functions.js
@@ -105,4 +105,21 @@
     const classes = el.classList;
     return classes.length
   }
+}
+
+function wrapText(text, context, wrapper = 'div') {
+  let c = context.innerHTML;
+  let index = c.indexOf(text);
+  if(index >= 0) {
+    const cc = `${c.charAt(0)}${c.substring(1,c.length)}`;
+    index = cc.indexOf(Text);
+  }
+  if (index >= 0) {
+    let stop = index + text.length;
+    let s = c.substring(index,stop);
+    let before = c.substring(0,index);
+    let after = c.substring(stop);
+    c = `${before}<${wrapper}>${s}</${wrapper}>${after}`;
+    context.innerHTML = c;
+  }
 }
\ No newline at end of file
diff --git a/assets/js/search.js b/assets/js/search.js
index 965c729..a32e9f7 100644
--- a/assets/js/search.js
+++ b/assets/js/search.js
@@ -10,10 +10,11 @@
 
 const searchKeys = ['title', 'link', 'body', 'id'];
 const searchOptions = {
+  ignoreLocation: true,
   includeScore: true,
   includeMatches: true,
   keys: searchKeys,
-  threshold: 0.4
+  threshold: 0.1
 };
 
 const index = new Fuse(idx, searchOptions);
@@ -50,13 +51,10 @@
     searchField.addEventListener('input', function() {
       const searchTerm = this.value.trim().replaceAll(" ", " +").toLowerCase();
       if(searchTerm.length >= 3) {
-        let rawResults = index.search(`+${searchTerm}`);
-        console.log(rawResults, searchTerm);
+        let rawResults = index.search(searchTerm);
         rawResults = rawResults.map(function(result){
           return result.item;
         });
-        // console.log(JSON.stringify(rawResults), searchTerm);
-        console.log(rawResults, searchTerm);
 
         if(rawResults.length) {
 
@@ -88,10 +86,21 @@
   }
 }
 
-// let main = elem('main');
+function findQuery(query = 'query') {
+  const urlParams = new URLSearchParams(window.location.search);
+  if(urlParams.has(query)){
+    const searchTerm = urlParams.get(query);
+    window.find(searchTerm);
+    return searchTerm;
+  }
+  return "";
+}
 
-// wrapText("The", main, 'mark');
-
-let alltext = doc.innerHTML;
+let main = elem('main');
+if(!main) {
+  main = elem('.main');
+}
+const searchQuery = findQuery();
+wrapText(searchQuery,main,'mark');
 
 window.addEventListener('load', () => search());
\ No newline at end of file

--
Gitblit v1.10.0