← All examples

JavaScript Reading & focus mastodon.social

Mastodon: number replies in threads

Adds #1, #2, #3 numbering to consecutive replies in a thread so long conversations are easier to read.

Code to copy

// Number replies inside a detail view to track long threads
(function () {
  function number() {
    var threads = document.querySelectorAll('.columns-area__panels__main .scrollable, .scrollable.detailed-status__wrapper');
    threads.forEach(function (root) {
      var statuses = root.querySelectorAll('.status, article.status');
      statuses.forEach(function (st, i) {
        if (st.dataset.jzNum) { return; }
        var time = st.querySelector('.status__relative-time, time');
        if (!time) { return; }
        var tag = document.createElement('span');
        tag.textContent = '#' + (i + 1);
        tag.style.cssText = 'background:#6364ff;color:#fff;font-size:11px;font-weight:700;border-radius:3px;padding:1px 5px;margin-right:6px;';
        time.parentNode.insertBefore(tag, time);
        st.dataset.jzNum = String(i + 1);
      });
    });
  }
  number();
  var obs = new MutationObserver(number);
  obs.observe(document.body, { childList: true, subtree: true });
})();

How to use this example

  1. Copy the code with the button above.
  2. Install JustZix (2 minutes) and open the extension on the target page.
  3. Add a new rule matching that page.
  4. Paste the code into the rule's JavaScript panel and save — it runs on every page visit.

Rate this example

No ratings yet — be the first.

Does this example work?

Snippets are useless without somewhere to paste them.

JustZix takes 2 minutes to install and runs your code on every matching page. No account, no payment.

Download free See use cases