1
|
window.onload=function(){function m(){var e=document.querySelector("meta[name='base']").getAttribute("content");return(e=e&&"/"==e.slice(-1)?e.slice(0,-1):e)||""}async function e(){var e=m()+"/tinysearch_engine.wasm",n=await fetch(e);if(!n.ok)throw Error("Failed to fetch WASM: "+n.status+" "+n.statusText+" ("+e+")");if(e=await n.arrayBuffer(),n=await WebAssembly.instantiate(e),y=n.instance,g=y.exports.memory,p=y.exports.search,v=y.exports.free_search_result,!p||!v||!g)throw Error("Required WASM exports not found (need search, free_search_result, memory)");w=!0}function n(){var e=document.querySelector("main"),n=(window.main||(window.main=e.innerHTML),document.getElementById("suggestions")),t=n.cloneNode(!0),r=(t.id="results",document.createElement("div")),o='<form name="closeSearch"><h2><button type="submit" title="Close Search"><i class="svgs x"></i></button> <i class="svgs search"></i> '.concat(document.getElementById("searchinput").value,"</h2></form>");return r.innerHTML=o,t.insertBefore(r,t.firstChild),e.innerHTML=t.outerHTML,n.innerHTML="",document.getElementById("searchinput").value="",document.body.contains(document.closeSearch)&&(document.closeSearch.onsubmit=function(){document.querySelector("main").innerHTML=window.main}),!1}function f(){for(;h.firstChild;)h.removeChild(h.firstChild)}var a,h,t,y,g,p,v,w,b,E;document.body.contains(document.goSearch)&&(document.goSearch.onsubmit=function(){return goSearchNow()},a=document.getElementById("searchinput"),h=document.getElementById("suggestions"),document.addEventListener("keydown",function(n){191===n.keyCode&&"INPUT"!==document.activeElement.tagName&&"TEXTAREA"!==document.activeElement.tagName&&(n.preventDefault(),a.focus(),h.classList.remove("d-none")),27===n.keyCode&&(a.blur(),h.classList.add("d-none"),f());var t=h.querySelectorAll("a");if(!h.classList.contains("d-none")&&0!==t.length){var r=[...t],o=r.indexOf(document.activeElement);let e=0;38===n.keyCode?(n.preventDefault(),t[e=0<o?o-1:0].focus()):40===n.keyCode&&(n.preventDefault(),t[e=1+o<r.length?1+o:o].focus())}}),t=!1,document.getElementById("searchinput").onfocus=function(){t||(e(),t=!0),document.getElementById("searchinput").onfocus=""},v=p=g=y=null,w=!1,b=new TextEncoder,E=new TextDecoder("utf-8"),document.getElementById("searchinput").addEventListener("input",function(e){var n=this.value;if(f(),!n)return!1;if(!w)return!1;for(var t=((e,n)=>{if(!w||!e)return[];n=n||10;try{var t,r,o=(e=>{var e=b.encode(e+"\0"),n=0;return n=(n=y.exports.__wbindgen_malloc?y.exports.__wbindgen_malloc(e.length):n)||1024,new Uint8Array(g.buffer,n,e.length).set(e),n})(e),a=p(o,n);return(y.exports.__wbindgen_free&&1024<o&&y.exports.__wbindgen_free(o,e.length+1),a)?(t=(e=>{if(!e)return null;for(var n=new Uint8Array(g.buffer),t=0;0!==n[e+t]&&++t<=10485760;);return E.decode(n.subarray(e,e+t))})(a),v(a),t&&Array.isArray(r=JSON.parse(t))?r:[]):[]}catch(e){return[]}})(n,99),r=0;r<t.length;r++){var o,a,i,c=t[r],c=Array.isArray(c)?(o=c[0],a=c[1],c[2]):(o=c.title,a=c.url,(e=>{if(!e)return"";if("string"==typeof e&&"{"==(e[0]||""))try{var n=JSON.parse(e);return n.meta||n.description||Object.values(n)[0]||""}catch(e){}return e})(c.meta||c.description||"")),u=((i=document.createElement("DIV")).innerHTML="<a href><span></span><span></span></a>",i.querySelector("a")),s=i.querySelector("span:first-child"),d=i.querySelector("span:nth-child(2)"),l=(n=>{if(!n)return n;var e,t=m();if(!t)return n;try{return"/"==(n[0]||"")?t+n:(e=new URL(n,t),new URL(t).origin+e.pathname+e.search+e.hash)}catch(e){return n}})(a);u.href=l+(~l.indexOf("?")?"&":"?")+"q="+encodeURIComponent(n),s.innerHTML=o||"",d.innerHTML=(u=n,(l=c||"")?(""+l).replace(RegExp("(^|)("+u+")(|$)","ig"),"$1<mark>$2</mark>$3"):""),h.appendChild(i)}}),document.goSearch.onsubmit=n)};
|