if(!items || !items.length){ grid.innerHTML = '
'+noResultsText+'
'; return; } grid.innerHTML = items.map(cardHTML).join(''); } function search(q){ if(!DATA){ return; } q = (q||'').toLowerCase().trim(); if(!q){ grid.innerHTML=''; return; } var words = q.split(/\s+/); var res = DATA.filter(function(it){ var hay = ( (it.title || '') + ' ' + (it.summary || '') + ' ' + (it.tags || []).join(' ') ).toLowerCase(); return words.every(function(w){ return hay.indexOf(w) >= 0; }); }).slice(0,30); render(res); } var lang = document.documentElement.lang; var indexPath = '/index.json'; if(lang === 'en'){ indexPath = '/en/index.json'; } fetch(indexPath, {credentials:'omit'}) .then(function(r){ return r.json(); }) .then(function(j){ DATA = j; }) .catch(function(){ grid.innerHTML = '
Search index error.
'; }); form.addEventListener('submit', function(e){ e.preventDefault(); search(input.value); }); input.addEventListener('input', function(){ search(input.value); }); })();