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);
});
})();