123456789101112131415161718192021222324252627282930313233 |
- document.addEventListener('DOMContentLoaded', function () {
- const searchInput = document.getElementById('search-input');
- const resultsContainer = document.getElementById('results');
-
- fetch('/search-index.json')
- .then(response => response.json())
- .then(searchIndex => {
- searchInput.addEventListener('input', function () {
- const query = searchInput.value.toLowerCase();
- const results = search(query, searchIndex);
-
- resultsContainer.innerHTML = '';
-
- results.forEach(function (result) {
- const li = document.createElement('li');
- li.textContent = `${result.item.title}: ${result.item.content}`
- resultsContainer.appendChild(li);
- });
- });
- })
- .catch(error => console.error('Error fetching search index:', error));
- function search(query, data) {
- const options = {
- keys: ['title', 'content'],
- };
- const fuse = new Fuse(data, options);
- return fuse.search(query);
- }
- });
|