constellation · post list

<atproto-citations>

Posts that link to any URL via a richtext link facet. Drop on a blog post's page for free referer tracking — no analytics script required.

<atproto-citations src="https://your-blog.com/post-slug" limit="10"></atproto-citations>
NameTypeDefaultDescription
src * string A URL — any URL someone might link to from ATProto.
limit number 10 Posts per page.
constellation string Override the Constellation endpoint.

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

PartWhat it is
head'N citations' counter.
list / itemOrdered list container and each item wrapper.
postEach nested compact atproto-post.
loadmore / empty / error-itemPagination, empty, error states.

Your blog post is out in the world. Someone shares it on Bluesky. Usually you find out because Google Analytics shows a spike — maybe. With this component, you just embed it on your own page and see the actual posts. No tracking pixels, no analytics platform, no server logs. The social graph itself is your referer header.

Works for any URL. The CID path is facets[app.bsky.richtext.facet].features[app.bsky.richtext.facet#link].uri — the full richtext-link-feature URI inside post text facets.

<atproto-mentions> — who mentioned a DID. <atproto-quoters> — who quote-posted an AT-URI (different embed mechanism; a quote is a record embed, not a facet link).