This commit is contained in:
@@ -1,44 +1,54 @@
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
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');
|
||||
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 = '<p>Enter a search term above.</p>';
|
||||
resultsContainer.innerHTML = "<p>Enter a search term above.</p>";
|
||||
return;
|
||||
}
|
||||
|
||||
fetch('/search.json')
|
||||
.then(function(response) { return response.json(); })
|
||||
.then(function(data) {
|
||||
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 results = data.filter(function (item) {
|
||||
return (
|
||||
item.title.toLowerCase().indexOf(q) !== -1 ||
|
||||
item.content.toLowerCase().indexOf(q) !== -1
|
||||
);
|
||||
});
|
||||
|
||||
var esc = query.replace(/</g, '<').replace(/>/g, '>');
|
||||
var esc = query.replace(/</g, "<").replace(/>/g, ">");
|
||||
|
||||
if (results.length === 0) {
|
||||
resultsContainer.innerHTML = '<p>No results found for "<strong>' + esc + '</strong>".</p>';
|
||||
resultsContainer.innerHTML =
|
||||
'<p>No results found for "<strong>' + esc + '</strong>".</p>';
|
||||
return;
|
||||
}
|
||||
|
||||
var html = '<p>Found ' + results.length + ' result(s) for "<strong>' + esc + '</strong>":</p>';
|
||||
results.forEach(function(result) {
|
||||
var html =
|
||||
"<p>Found " +
|
||||
results.length +
|
||||
' result(s) for "<strong>' +
|
||||
esc +
|
||||
'</strong>":</p>';
|
||||
results.forEach(function (result) {
|
||||
var snippet = result.content.substring(0, 200);
|
||||
if (result.content.length > 200) snippet += '...';
|
||||
if (result.content.length > 200) snippet += "...";
|
||||
html += '<div class="search-result">';
|
||||
html += '<a href="' + result.url + '">' + result.title + '</a>';
|
||||
if (snippet) html += '<p>' + snippet + '</p>';
|
||||
html += '</div>';
|
||||
html += '<a href="' + result.url + '">' + result.title + "</a>";
|
||||
if (snippet) html += "<p>" + snippet + "</p>";
|
||||
html += "</div>";
|
||||
});
|
||||
resultsContainer.innerHTML = html;
|
||||
})
|
||||
.catch(function() {
|
||||
resultsContainer.innerHTML = '<p>Error loading search index.</p>';
|
||||
.catch(function () {
|
||||
resultsContainer.innerHTML = "<p>Error loading search index.</p>";
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user