mirror of https://github.com/onweru/compose.git

weru
12.25.2020 9d590d2bb01ea734ac93697bdd940f046361de15
update script
2 files modified
44 ■■■■ changed files
assets/js/functions.js 17 ●●●●● patch | view | raw | blame | history
assets/js/search.js 27 ●●●●● patch | view | raw | blame | history
assets/js/functions.js
@@ -106,3 +106,20 @@
    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;
  }
}
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());