Skip to content

Latest commit

 

History

History
78 lines (71 loc) · 3.65 KB

publications.md

File metadata and controls

78 lines (71 loc) · 3.65 KB
title Publications
permalink /publications/
eyebrow Publications
lede Papers from the Swarm Lab and from Sandeep's earlier work. Filter by research theme, or search titles, authors, and venues.

For metrics and citations, see Sandeep's Google Scholar profile.

Search publications
All {%- for t in site.data.themes %} {{ t.name }} {%- endfor %} Earlier & other

{% bibliography %}

No publications match. Clear filters

<script> /* Progressive enhancement: without JS the filters stay hidden and every paper is listed. */ (function () { var root = document.getElementById('publications'); var bar = root.querySelector('[data-pubs-filters]'); var pubs = [].slice.call(root.querySelectorAll('.pub')); if (!bar || !pubs.length) return; var input = bar.querySelector('.pubs-search'); var chips = [].slice.call(bar.querySelectorAll('.chip')); var count = bar.querySelector('.pubs-count'); var empty = root.querySelector('.pubs-empty'); var groups = [].slice.call(root.querySelectorAll('h2.bibliography')).map(function (h) { return { head: h, list: h.nextElementSibling, label: h.textContent.trim() }; }); var theme = '', query = ''; bar.hidden = false; function apply() { var terms = query.toLowerCase().split(/\s+/).filter(Boolean), shown = 0; pubs.forEach(function (p) { var themes = ' ' + (p.dataset.themes || '') + ' '; var text = p.dataset.search || ''; var ok = (!theme || themes.indexOf(' ' + theme + ' ') > -1) && terms.every(function (t) { return text.indexOf(t) > -1; }); p.closest('li').hidden = !ok; if (ok) shown++; }); groups.forEach(function (g) { var n = g.list ? g.list.querySelectorAll('li:not([hidden])').length : 0; g.head.hidden = g.list.hidden = !n; g.head.textContent = g.label + ' (' + n + ')'; }); count.textContent = (theme || terms.length ? shown + ' of ' + pubs.length : pubs.length) + ' publications'; empty.hidden = shown > 0; chips.forEach(function (c) { c.setAttribute('aria-pressed', String(c.dataset.theme === theme)); }); var q = new URLSearchParams(); if (theme) q.set('theme', theme); if (query) q.set('q', query); history.replaceState(null, '', location.pathname + (q.toString() ? '?' + q : '') + location.hash); } input.addEventListener('input', function () { query = input.value.trim(); apply(); }); chips.forEach(function (c) { c.addEventListener('click', function () { theme = c.dataset.theme; apply(); }); }); empty.querySelector('.pubs-reset').addEventListener('click', function () { theme = query = input.value = ''; apply(); }); var params = new URLSearchParams(location.search); theme = params.get('theme') || ''; query = input.value = params.get('q') || ''; apply(); })(); </script>