Skip to content

Commit f7cebc9

Browse files
Update index.html
1 parent 37ae021 commit f7cebc9

1 file changed

Lines changed: 13 additions & 7 deletions

File tree

index.html

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -135,14 +135,23 @@ <h1>Study <span class="ac">Hub</span></h1>
135135
var empty = document.getElementById('empty');
136136
var label = document.getElementById('count-label');
137137

138+
function metaHtml(c){
139+
if(c.children){ var k=c.children.length; return '<span>'+k+' area'+(k===1?'':'s')+'</span>'; }
140+
var r=(c.resources||[]); var ext=r.filter(function(x){return x.type==='external';}).length;
141+
return '<span>'+r.length+' link'+(r.length===1?'':'s')+'</span><span>'+ext+' ext</span>';
142+
}
143+
function subtreeText(c){
144+
var s=(c.title||'')+' '+(c.blurb||'')+' '+(c.tag||'');
145+
(c.resources||[]).forEach(function(r){ s+=' '+r.label; });
146+
(c.children||[]).forEach(function(ch){ s+=' '+subtreeText(ch); });
147+
return s.toLowerCase();
148+
}
138149
function render(list){
139150
grid.innerHTML = '';
140151
label.textContent = list.length + (list.length===1?' area':' areas');
141152
if(!list.length){ empty.style.display='block'; return; }
142153
empty.style.display='none';
143154
list.forEach(function(c){
144-
var n = (c.resources||[]).length;
145-
var ext = (c.resources||[]).filter(function(r){return r.type==='external';}).length;
146155
var a = document.createElement('a');
147156
a.className = 'card';
148157
a.href = 'category.html?id=' + encodeURIComponent(c.id);
@@ -152,7 +161,7 @@ <h1>Study <span class="ac">Hub</span></h1>
152161
'<div class="ctitle">'+esc(c.title)+(c.tag?'<span class="tag">'+esc(c.tag)+'</span>':'')+'</div>'+
153162
(c.blurb?'<div class="cblurb">'+esc(c.blurb)+'</div>':'')+
154163
'</div>'+
155-
'<div class="cmeta"><span>'+n+' link'+(n===1?'':'s')+'</span><span>'+ext+' ext</span></div>'+
164+
'<div class="cmeta">'+metaHtml(c)+'</div>'+
156165
'<span class="arrow">›</span>';
157166
grid.appendChild(a);
158167
});
@@ -165,10 +174,7 @@ <h1>Study <span class="ac">Hub</span></h1>
165174
q.addEventListener('input', function(){
166175
var t = q.value.trim().toLowerCase();
167176
if(!t){ render(cats); return; }
168-
render(cats.filter(function(c){
169-
return (c.title+' '+(c.blurb||'')+' '+(c.tag||'')+' '+
170-
(c.resources||[]).map(function(r){return r.label;}).join(' ')).toLowerCase().indexOf(t) > -1;
171-
}));
177+
render(cats.filter(function(c){ return subtreeText(c).indexOf(t) > -1; }));
172178
});
173179
})();
174180
</script>

0 commit comments

Comments
 (0)