document.addEventListener('DOMContentLoaded', function() { var params = new URLSearchParams(window.location.search); var query = params.get('q'); var box = document.getElementById('search-box'); var resultsContainer = document.getElementById('search-results-list'); if (box && query) box.value = query; if (!query) { resultsContainer.innerHTML = '
Enter a search term above.
'; return; } fetch('/search.json') .then(function(response) { return response.json(); }) .then(function(data) { var q = query.toLowerCase(); var results = data.filter(function(item) { return item.title.toLowerCase().indexOf(q) !== -1 || item.content.toLowerCase().indexOf(q) !== -1; }); var esc = query.replace(//g, '>'); if (results.length === 0) { resultsContainer.innerHTML = 'No results found for "' + esc + '".
'; return; } var html = 'Found ' + results.length + ' result(s) for "' + esc + '":
'; results.forEach(function(result) { var snippet = result.content.substring(0, 200); if (result.content.length > 200) snippet += '...'; html += '' + snippet + '
'; html += 'Error loading search index.
'; }); });