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.
Live
<atproto-citations src="https://your-blog.com/post-slug" limit="10"></atproto-citations> Attributes
| Name | Type | Default | Description |
|---|---|---|---|
src * | string | — | A URL — any URL someone might link to from ATProto. |
limit | number | 10 | Posts per page. |
constellation | string | — | Override the Constellation endpoint. |
Parts
External CSS can target these via atproto-citations::part(<name>) { ... }.
| Part | What it is |
|---|---|
head | 'N citations' counter. |
list / item | Ordered list container and each item wrapper. |
post | Each nested compact atproto-post. |
loadmore / empty / error-item | Pagination, empty, error states. |
Why this is interesting
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.
Related
<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).