primitive · constellation only

<atproto-like-count>

Live like count for a single post. Inline-block so it embeds in prose.

This post has on it.

This post has <atproto-like-count src="at://..."></atproto-like-count> on it.
NameTypeDefaultDescription
src * string AT-URI or bsky.app post URL.
constellation string Override the Constellation endpoint.

External CSS can target these via atproto-like-count::part(<name>) { ... }.

PartWhat it is
countOuter wrapper span.
numberThe numeric like count.
labelThe 'like' / 'likes' text after the number.

One Constellation getBacklinksCount call. That's it. Renders as an inline span so you can drop it mid-sentence without breaking flow. No PDS call, no profile lookup, no DID doc resolution — just the count.

  • <atproto-like-count> — inline, likes only.
  • <atproto-generic-count> — same shape but for arbitrary collection:path pairs. Build badge for ANY interaction type.
  • <atproto-engagement-row> (atomic) — all 4 counts (replies/reposts/quotes/likes) in one block.
  • <atproto-likers> — the avatar grid version.

Inline in a caption

<figcaption>
  Posted by @alice —
  <atproto-like-count src="at://..."></atproto-like-count>
</figcaption>

Ambient counter on a blog sidebar

<aside class="sidebar">
  <h3>Most-liked this month</h3>
  <ul>
    <li>Post A — <atproto-like-count src="at://..."></atproto-like-count></li>
    <li>Post B — <atproto-like-count src="at://..."></atproto-like-count></li>
  </ul>
</aside>