// Search functionality for standalone search page (function () { 'use strict'; let localSearch = null; let isDataLoaded = false; function initSearch() { const input = document.getElementById('search-input'); const container = document.getElementById('search-results'); if (!input || !container || typeof LocalSearch === 'undefined') { container.innerHTML = '
'; return; } localSearch = new LocalSearch({ path: searchConfig.path, top_n_per_article: searchConfig.top_n_per_article, unescape: searchConfig.unescape }); localSearch.fetchData(); window.addEventListener('search:loaded', function () { isDataLoaded = true; container.innerHTML = ''; }); function displaySearchResult() { if (!isDataLoaded) { container.innerHTML = ''; return; } const searchText = input.value.trim().toLowerCase(); if (searchText.length === 0) { container.innerHTML = ''; return; } const keywords = searchText.split(/[-\s]+/); const resultItems = localSearch.getResultItems(keywords); if (resultItems.length === 0) { container.innerHTML = ''; } else { container.innerHTML = `