18 min read
\\
fastest-growing repositories, relative to their own size
fresh projects that joined recently
the full index — search or pick a sort
# publish
\
Add the GitHub topic herdr-plugin to a public repository
with a herdr-plugin.toml manifest. The index picks it up
on the next refresh. No submission, no review queue.
/* nav sheet — the links, the account and the ground toggle that don't
fit the bar on a phone */
(function () {
var btn = document.getElementById('nav-menu');
var sheet = document.getElementById('nav-sheet');
if (!btn || !sheet) return;
function set(open) {
sheet.classList.toggle('open', open);
btn.setAttribute('aria-expanded', String(open));
}
btn.addEventListener('click', function (event) {
event.stopPropagation();
set(!sheet.classList.contains('open'));
});
/* the ground buttons live in the sheet, so a tap inside must not close
it — only taps on the page behind do */
document.addEventListener('click', function (event) {
if (!sheet.contains(event.target)) set(false);
});
document.addEventListener('keydown', function (event) {
if (event.key === 'Escape') set(false);
});
})();
/* The nav count is baked at build, which can be a deploy behind. Refresh
it from the same snapshot so the number is current on every page. No
count-up here — this is chrome, not the argument the homepage makes. */
fetch('https://assets.herdr.dev/stats/stats.json', { headers: { accept: 'application/json' } })
.then(function (r) {
return r.ok ? r.json() : null;
})
.then(function (d) {
if (!d || !d.stars || typeof d.stars.total !== 'number') return;
var text = d.stars.total.toLocaleString('en-US');
document.querySelectorAll('[data-stars]').forEach(function (el) {
el.textContent = text;
});
})
.catch(function () {});
</script> <script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"8cf9da0ee686416f891e33febc7703c8","r":1,"spa":2}' crossorigin="anonymous"></script>
Last updated Oct 11, 2026