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