We can't find the internet
Attempting to reconnect
Something went wrong!
Attempting to reconnect
Bluesky discussions
Any page can pull in a conversation from the AT Protocol network and show it below the content: the post itself, how often it was liked and shared, who liked it, and the full reply thread. Readers get buttons to reply or quote the post on their own account, so the discussion about a page lives on Bluesky.
Scroll down to see it in action. This page is linked to the official mu.social account and always shows its latest post.
Linking a post
Add a bsky property to the frontmatter with the URL of the post, exactly as copied from the browser:
---
bsky: https://mu.social/profile/mu.social
---
Three kinds of references are accepted:
- A post URL shows that post with its replies. This is the usual case: publish the page, announce it in a post, then link the post here.
- A profile URL such as
https://mu.social/profile/mu.socialshows the newest top-level post of that account. Replies and reposts are skipped. This is handy for a landing page that should always show what you posted last. - An
at://URI likeat://did:plc:…/app.bsky.feed.post/3lxyz123abcis accepted as well, if you already have it.
Other AppViews
The host of the URL is used for all outgoing links. A page linked to https://mu.social/profile/… sends readers to mu.social to reply or quote, while a bsky.app link keeps them on Bluesky. Any site that runs the Bluesky app with the same URL scheme works. The data itself is read from the Eurosky AppView at api.eurosky.network, which indexes the whole network regardless of where an account lives. Another AppView can be configured:
config :alchemy_pub, bsky_appview: "https://public.api.bsky.app"
What is shown
- Author avatar, display name and handle, with the post date and time right-aligned.
- The post text with clickable links, mentions and hashtags. Mentions and tags open on the origin host, other links go wherever they point.
- Images attached to the post.
- The number of replies, reposts (including quotes) and likes, followed by the avatars of up to twelve people who liked the post.
- Reply opens the post on the origin host, where readers can answer from their own account. Quote opens the compose dialog there with a link to the post prefilled.
- The reply thread, nested up to six levels deep and sorted chronologically.
Good to know
- Read-only. Everything comes from the public API, which works anonymously, and the server only reads.
- Cached. A thread is kept in memory for five minutes, which keeps API traffic low on a busy page. Reload after that to see new replies.
- Loaded live only. The thread is fetched after the LiveView connects. Crawlers and readers without JavaScript get the page alone, which keeps the initial render fast and keeps third-party content out of search results.
- Respects Protected pages. On a locked page the discussion is fetched once the reader has entered the password.
- Fails quietly. If the post is deleted or the API is unreachable, the section is left out and the page renders as usual.