| | |
| | | ; (async function() { |
| | | const encoder = (str) => str.toLowerCase().split(/([^a-z]|[^\x00-\x7F])+/) |
| | | const encoder = (str) => str.toLowerCase().split(/([^a-z]|[^\x00-\x7F])/) |
| | | const contentIndex = new FlexSearch.Document({ |
| | | cache: true, |
| | | charset: "latin:extra", |
| | |
| | | }) |
| | | |
| | | registerHandlers((e) => { |
| | | term = e.target.value |
| | | const term = e.target.value |
| | | const searchResults = contentIndex.search(term, [ |
| | | { |
| | | field: "content", |
| | |
| | | } |
| | | const allIds = new Set([...getByField("title"), ...getByField("content")]) |
| | | const finalResults = [...allIds].map(formatForDisplay) |
| | | displayResults(finalResults, true) |
| | | displayResults(term, finalResults, true) |
| | | }) |
| | | })() |