ar.falsy.cat/js/full-text-search.e6e2e0c213187ca0c703d6e2c7a77fcd.min.js

1 line
713 B
JavaScript
Raw Permalink Normal View History

(async function(){const t=e=>e.toLowerCase().split(/([^a-z]|[^\x00-\x7F])/),n=new FlexSearch.Document({cache:!0,charset:"latin:extra",optimize:!0,index:[{field:"content",tokenize:"reverse",encode:t},{field:"title",tokenize:"forward",encode:t}]}),{content:e}=await fetchData;for(const[s,t]of Object.entries(e))n.add({id:s,title:t.title,content:removeMarkdown(t.content)});const s=t=>({id:t,url:t,title:e[t].title,content:e[t].content});registerHandlers(o=>{const e=o.target.value,i=n.search(e,[{field:"content",limit:10},{field:"title",limit:5}]),t=t=>{const e=i.filter(e=>e.field===t);return e.length===0?[]:[...e[0].result]},a=new Set([...t("title"),...t("content")]),r=[...a].map(s);displayResults(e,r,!0)})})()